diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2024-09-28 15:27:43 +0200 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2024-09-28 15:27:43 +0200 |
commit | b96e384d8299473b14edcbf885fa914a9308d18f (patch) | |
tree | 0bde9428f42b309ea167a41473252bda8035e21a /UI/HUD.gd | |
parent | 4597189f157834c80f56b12b701fd2b2a15c2798 (diff) |
next commit
Diffstat (limited to 'UI/HUD.gd')
-rw-r--r-- | UI/HUD.gd | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -5,3 +5,42 @@ extends CanvasLayer @onready var score: Label = %Score @onready var tower: Label = %Tower @onready var spawn_box: Control = %SpawnBox +@onready var players_list: PanelContainer = %PlayersList + + +func _ready(): + Client.player.score_changed.connect(func(): + score.text = str(Client.player.score) + ) + + Client.stage_state_changed.connect(func(state: State): + if state is StateBuild: + $TowerConfigurationsContainer.visible = true + else: + $TowerConfigurationsContainer.visible = false + ) + + +func _input(event: InputEvent): + if event.is_action_pressed("spawn_box_toggle"): + spawn_box.visible = not spawn_box.visible + if event.is_action_pressed("players_list_toggle"): + players_list.visible = not players_list.visible + + +func _on_build_mode_button_gui_input(event: InputEvent) -> void: + if event.is_action_pressed("select"): + if Client.state is StateDefault: + get_tree().current_scene.get_node("StateManager").set_state("StateBuild") + elif Client.state is StateBuild: + get_tree().current_scene.get_node("StateManager").set_state("StateDefault") + + +func _on_spawner_box_button_gui_input(event: InputEvent) -> void: + if event.is_action_pressed("select"): + spawn_box.visible = not spawn_box.visible + + +func _on_player_list_button_gui_input(event: InputEvent) -> void: + if event.is_action_pressed("select"): + players_list.visible = not players_list.visible |