From dd7ec4229fb1ad4872d3db880096682307bc1b83 Mon Sep 17 00:00:00 2001 From: Varylios Date: Tue, 9 Sep 2025 19:29:29 +0200 Subject: [PATCH] fix: cube btn + projectile AOE range --- Towers/Projectiles/projectile.tscn | 2 +- UI/InfoPanel.gd | 26 +++++++++++--------------- UI/gui.gd | 7 +++---- UI/gui.tscn | 1 + 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/Towers/Projectiles/projectile.tscn b/Towers/Projectiles/projectile.tscn index f2415fa..e50d6f0 100644 --- a/Towers/Projectiles/projectile.tscn +++ b/Towers/Projectiles/projectile.tscn @@ -37,4 +37,4 @@ debug_color = Color(0.926858, 0.237749, 0.335021, 0.42) [connection signal="body_entered" from="HitBox" to="." method="onBodyCollideWithProjectile" flags=3] [connection signal="body_entered" from="DamageArea" to="." method="onBodyEnteredDamageArea"] -[connection signal="body_exited" from="DamageArea" to="." method="onBodyExitedDamageArea"] +[connection signal="body_exited" from="DamageArea" to="." method="removeTarget"] diff --git a/UI/InfoPanel.gd b/UI/InfoPanel.gd index 7de9d7b..4a046ee 100644 --- a/UI/InfoPanel.gd +++ b/UI/InfoPanel.gd @@ -11,18 +11,9 @@ func _ready() -> void: func onCubeSelected() -> void: - if tower: - EventBus.tower_selected.emit(Tower.TYPE.NONE) - tower = null - visible = true $PanelContainer2.visible = false - %UpgradeContainer.visible = true - %UpgradeContainer.get_children().map(func(btn): btn.queue_free()) - for upgrade in Game.upgrades: - var btn : UpgradeButton = upgradeBtnScene.instantiate() - %UpgradeContainer.add_child(btn) - btn.setUpgrade(upgrade) + createTowerUpgradeButtons(Game.upgrades) func onTowerSelected(towerType : Tower.TYPE) -> void: @@ -39,7 +30,7 @@ func onTowerSelected(towerType : Tower.TYPE) -> void: tower = Game.towers.get(towerType) tower.energy_changed.connect(onEnergyChange) tower.changed.connect(onTowerChange) - %UpgradeContainer.visible = false + createTowerUpgradeButtons(tower.upgrades) visible = true onTowerChange() @@ -58,14 +49,19 @@ func onTowerChange() -> void: #%TowerBio.text = tower.bio if tower.builded && not %UpgradeContainer.visible: - createTowerUpgradeButton() + createTowerUpgradeButtons(tower.upgrades) -func createTowerUpgradeButton() -> void: +func createTowerUpgradeButtons(upgrades : Array) -> void: + if tower && not tower.builded: + %UpgradeContainer.visible = false + return + %UpgradeContainer.visible = true %UpgradeContainer.get_children().map(func(btn): btn.queue_free()) - for upgrade in tower.upgrades: + for upgrade in upgrades: var btn : UpgradeButton = upgradeBtnScene.instantiate() %UpgradeContainer.add_child(btn) btn.setUpgrade(upgrade) - btn.setTower(tower) + if tower: + btn.setTower(tower) diff --git a/UI/gui.gd b/UI/gui.gd index 1b26274..8609603 100644 --- a/UI/gui.gd +++ b/UI/gui.gd @@ -15,8 +15,8 @@ func _ready() -> void: EventBus.team_in_rest_changed.connect(func(count): %LabelTowerInCube.text = "Zzz : %d" % count) EventBus.team_in_action_changed.connect(func(count): %LabelTowerOnTerrain.text = " In action : %d" % count) EventBus.wave_has_change.connect(onWaveChange) - EventBus.tower_selected.connect( - func(_type): cubeBtn.set_pressed_no_signal(cubeBtn.button_pressed && _type == Tower.TYPE.NONE)) + EventBus.tower_selected.connect(func(_type): + cubeBtn.set_pressed_no_signal(cubeBtn.button_pressed && _type == Tower.TYPE.NONE)) Game.allowed_tower_has_change.connect(addTowerButtonNodes) Game.cube_integrity_changed.connect(func(): cubeIntegrity.value = Game.health) @@ -42,10 +42,9 @@ func _ready() -> void: func onCubeBtnPressed(state : bool) -> void: + EventBus.tower_selected.emit(Tower.TYPE.NONE) if state: EventBus.cube_selected.emit() - else: - EventBus.tower_selected.emit(Tower.TYPE.NONE) diff --git a/UI/gui.tscn b/UI/gui.tscn index e7901d6..c1d4edc 100644 --- a/UI/gui.tscn +++ b/UI/gui.tscn @@ -155,6 +155,7 @@ columns = 4 [node name="CubeBtn" parent="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")] unique_name_in_owner = true layout_mode = 2 +toggle_mode = true texture = ExtResource("7_fffne") [node name="QuitLevelBtn" parent="TowerButtonPanel/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]