summaryrefslogtreecommitdiff
path: root/UI/tower_configuration.gd
blob: 9eb12cdb0bbf7781962fecf6258bbe8daddcbe4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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