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/tower_configuration.gd | |
parent | 4597189f157834c80f56b12b701fd2b2a15c2798 (diff) |
next commit
Diffstat (limited to 'UI/tower_configuration.gd')
-rw-r--r-- | UI/tower_configuration.gd | 35 |
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 |