summaryrefslogtreecommitdiff
path: root/UI/tower_configuration.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/tower_configuration.gd
parent4597189f157834c80f56b12b701fd2b2a15c2798 (diff)
next commit
Diffstat (limited to 'UI/tower_configuration.gd')
-rw-r--r--UI/tower_configuration.gd35
1 files changed, 35 insertions, 0 deletions
diff --git a/UI/tower_configuration.gd b/UI/tower_configuration.gd
new file mode 100644
index 0000000..9eb12cd
--- /dev/null
+++ b/UI/tower_configuration.gd
@@ -0,0 +1,35 @@
+extends PanelContainer
+
+
+var is_hovered = false
+
+
+func _on_mouse_entered() -> void:
+ is_hovered = true
+
+ var stylebox := StyleBoxFlat.new()
+ stylebox.bg_color = Color(1.0, 1.0, 1.0, 0.25)
+ add_theme_stylebox_override("panel", stylebox)
+
+func _on_mouse_exited() -> void:
+ is_hovered = false
+
+ remove_theme_stylebox_override("panel")
+
+
+func _on_texture_rect_gui_input(event: InputEvent) -> void:
+ var state: StateBuild = get_tree().current_scene.get_node("StateManager/StateBuild")
+ if event.is_action_pressed("select") and not state.current_builder_element:
+ var builder_element_scene = preload("res://Game/States/Build/BuilderElement.tscn")
+ var builder_element = builder_element_scene.instantiate()
+
+ var tower = preload("res://Towers/Tower.tscn").instantiate() as Tower
+ tower.attack_range = [
+ Client.stage.map.tile_set.tile_size.x * 2,
+ Client.stage.map.tile_set.tile_size.x * 3,
+ Client.stage.map.tile_set.tile_size.x * 4,
+ ].pick_random()
+
+ builder_element.element = tower
+ get_tree().current_scene.add_child(builder_element)
+ state.current_builder_element = builder_element