TowerDefense/UI/TowerPanel.gd
2025-09-05 04:07:17 +02:00

31 lines
784 B
GDScript

extends HBoxContainer
var tower : Tower
func _ready() -> void:
EventBus.tower_selected.connect(onTowerSelected)
EventBus.tower_changed.connect(onEnergyChanged)
func onTowerSelected(towerType : Tower.TYPE) -> void:
if towerType == Tower.TYPE.NONE:
visible = false
tower = null
return
tower = Game.towers.get(towerType)
%TowerIcon.texture = tower.icone
%TowerName.text = tower.tower_name
%TowerDamage.text = "Dmg : %d" % tower.projectileRessource.damage
%TowerCooldown.text = "cooldown : %.1f" % tower.action_cooldown
# TODO Check for better UI to display it
#%TowerBio.text = tower.bio
onEnergyChanged(tower)
visible = true
func onEnergyChanged(_tower : Tower) -> void:
if _tower == tower:
%TowerEnergy.text = "%d/%d" % [ tower.energy, tower.max_energy ]