summaryrefslogtreecommitdiff
path: root/UI/HUD.gd
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-09-28 15:27:43 +0200
committerDaniel Weipert <git@mail.dweipert.de>2024-09-28 15:27:43 +0200
commitb96e384d8299473b14edcbf885fa914a9308d18f (patch)
tree0bde9428f42b309ea167a41473252bda8035e21a /UI/HUD.gd
parent4597189f157834c80f56b12b701fd2b2a15c2798 (diff)
next commit
Diffstat (limited to 'UI/HUD.gd')
-rw-r--r--UI/HUD.gd39
1 files changed, 39 insertions, 0 deletions
diff --git a/UI/HUD.gd b/UI/HUD.gd
index 7674ce3..023f157 100644
--- a/UI/HUD.gd
+++ b/UI/HUD.gd
@@ -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