wip: GUI for upgrade
This commit is contained in:
parent
6cbd7c54dd
commit
6785e5ae87
10 changed files with 163 additions and 89 deletions
|
|
@ -18,8 +18,8 @@ signal tower_upgraded(towerType : Tower.TYPE, upgrade : TowerUpgrade)
|
|||
|
||||
|
||||
## [b]Emitter[/b] : [TheCube][br]
|
||||
## [b]Subscriber[/b] : cube_integrity.gd
|
||||
signal cube_integrity_changed(_value : int, _max_value : int)
|
||||
## [b]Subscriber[/b] : gui.gd
|
||||
signal cube_integrity_changed(newHealth : int)
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [TheCube][br]
|
||||
|
|
@ -41,10 +41,10 @@ signal tower_count_changed(count : int)
|
|||
## [b]Subscriber[/b] : gui.gd
|
||||
signal team_in_action_changed(count : int)
|
||||
|
||||
## [b]Emitter[/b] : [TowerManager][br]
|
||||
## [b]Subscriber[/b] : gui.gd, [TheCube]
|
||||
signal team_in_rest_changed(count : int)
|
||||
|
||||
## [b]Emitter[/b] : [TowerManager][br]
|
||||
## [b]Subscriber[/b] : gui.gd
|
||||
signal team_in_rest_changed(count : int)
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [Projectile][br]
|
||||
|
|
@ -61,30 +61,27 @@ signal money_received(amount : int)
|
|||
## [b]Subscriber[/b] : [TheCube]
|
||||
signal money_spent(amount : int)
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [WorldManager][br]
|
||||
## [b]Subscriber[/b] : [TheCube]
|
||||
signal player_has_won()
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [TheCube][br]
|
||||
## [b]Subscriber[/b] : [WorldManager]
|
||||
signal player_defeated()
|
||||
|
||||
## [b]Emitter[/b] : [TowerManager][br]
|
||||
## [b]Subscriber[/b] : [code]null[/code]
|
||||
signal open_shop()
|
||||
|
||||
## [b]Emitter[/b] : [TowerManager][br]
|
||||
## [b]Subscriber[/b] : [code]null[/code]
|
||||
signal close_shop()
|
||||
|
||||
## [b]Emitter[/b] : [Tower][br]
|
||||
## [b]Subscriber[/b] : [GuiButton]
|
||||
signal energy_has_changed(tower : Tower)
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [WorldManager], [Level][br]
|
||||
## [b]Subscriber[/b] : gui.gd
|
||||
signal allowedTowerHasChange(allowedTowers : Array[Tower.TYPE])
|
||||
|
||||
|
||||
## [b]Emitter[/b] : [WorldManager][br]
|
||||
## [b]Subscriber[/b] : [code]null[/code]
|
||||
signal waveHasChange(waveNumber : int)
|
||||
|
|
|
|||
|
|
@ -5,13 +5,14 @@ class_name Game
|
|||
## COLORS ##
|
||||
|
||||
|
||||
enum COLOR { HEALTH, ENERGY, SELECTED, SECONDARY }
|
||||
enum COLOR { HEALTH, ENERGY, SELECTED, SECONDARY, BACKGROUND_PANEL }
|
||||
|
||||
|
||||
const COLOR_HEALTH : Color = Color(0.921569, 0.419608, 0.415686, 1)
|
||||
const COLOR_ENERGY : Color = Color(0.921569, 0.890196, 0.415686, 1)
|
||||
const COLOR_SELECTED : Color = Color(0.721569, 0.600196, 0.355686, 1)
|
||||
const COLOR_SECONDARY : Color = Color(0.341, 0.082, 0.094, 0.0)
|
||||
const COLOR_BACKGROUND_PANEL : Color = Color(0.933, 0.933, 0.933, 1)
|
||||
const COLOR_FALLBACK : Color = Color(0.341176, 0.0823529, 0.0941176, 0)
|
||||
|
||||
|
||||
|
|
@ -21,6 +22,7 @@ static func getColor(color : COLOR) -> Color :
|
|||
COLOR.ENERGY : return COLOR_ENERGY
|
||||
COLOR.SELECTED : return COLOR_SELECTED
|
||||
COLOR.SECONDARY : return COLOR_SECONDARY
|
||||
COLOR.BACKGROUND_PANEL : return COLOR_BACKGROUND_PANEL
|
||||
_: return COLOR_FALLBACK
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ class_name TheCube
|
|||
var health : int = max_health :
|
||||
set(value):
|
||||
health = value
|
||||
EventBus.cube_integrity_changed.emit(health, max_health)
|
||||
EventBus.cube_integrity_changed.emit(health)
|
||||
if health <= 0:
|
||||
death()
|
||||
|
||||
|
|
|
|||
|
|
@ -5,15 +5,16 @@ class_name TowerManager
|
|||
enum STATE { IDLE, PLACING }
|
||||
var _state : int = STATE.IDLE
|
||||
|
||||
var selected_tower : Tower = null
|
||||
var selected_tower_type : Tower.TYPE = Tower.TYPE.NONE
|
||||
var the_cube : TheCube
|
||||
|
||||
@onready var cam : Camera3D = $"../Camera3D"
|
||||
@onready var selection_icon : Sprite3D = $Sprite3DSelection
|
||||
|
||||
|
||||
var towers : Dictionary
|
||||
var selected_collider : CollisionObject3D
|
||||
var selected_tower : Tower = null
|
||||
var the_cube : TheCube
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
EventBus.tower_selected.connect(selectTower)
|
||||
|
|
@ -26,18 +27,15 @@ func _process(_delta: float) -> void:
|
|||
if not selected_collider:
|
||||
return
|
||||
|
||||
if selected_collider.collision_layer == 1:
|
||||
if selected_collider is Tower && selected_collider != selected_tower:
|
||||
EventBus.tower_selected.emit(selected_collider.tower_type)
|
||||
elif selected_collider.collision_layer == 1:
|
||||
build_tower()
|
||||
if selected_collider is TheCube:
|
||||
EventBus.open_shop.emit()
|
||||
else:
|
||||
EventBus.close_shop.emit()
|
||||
|
||||
if Input.is_action_just_pressed("rest"):
|
||||
if _state == STATE.PLACING:
|
||||
quit_placing()
|
||||
|
||||
EventBus.close_shop.emit()
|
||||
if selected_collider is Tower:
|
||||
selected_collider.is_rest = true
|
||||
selected_collider.global_position = Vector3.ZERO
|
||||
|
|
@ -72,14 +70,6 @@ func handle_player_controls() -> void:
|
|||
selected_tower.sprite.modulate = "61ff45c8" #If the tower can be placed he is green
|
||||
|
||||
|
||||
func place_tower() -> void:
|
||||
_state = STATE.PLACING
|
||||
|
||||
selected_tower = Game.towers.get(selected_tower_type).instantiate()
|
||||
towers.set(selected_tower_type, selected_tower)
|
||||
selected_tower.collision_layer = 0
|
||||
add_child(selected_tower)
|
||||
|
||||
func quit_placing() -> void:
|
||||
_state = STATE.IDLE
|
||||
|
||||
|
|
@ -102,31 +92,27 @@ func build_tower() -> void:
|
|||
quit_placing()
|
||||
selected_tower.is_rest = false
|
||||
|
||||
move_tower()
|
||||
selected_tower.global_position = global_position
|
||||
emitTeamChanges()
|
||||
|
||||
|
||||
func selectTower(towerType : Tower.TYPE):
|
||||
func selectTower(towerType: Tower.TYPE):
|
||||
# Hide current not builded tower
|
||||
if selected_tower && not selected_tower.builded:
|
||||
selected_tower.visible = false
|
||||
|
||||
if towerType == selected_tower_type || towerType == Tower.TYPE.NONE:
|
||||
_state = STATE.IDLE
|
||||
if selected_tower && selected_tower.tower_type == towerType || towerType == Tower.TYPE.NONE:
|
||||
selected_tower = null
|
||||
selected_tower_type = Tower.TYPE.NONE
|
||||
_state = STATE.IDLE
|
||||
return
|
||||
|
||||
selected_tower_type = towerType
|
||||
if towers.has(towerType):
|
||||
_state = STATE.IDLE
|
||||
elif towers.has(towerType):
|
||||
selected_tower = towers.get(towerType)
|
||||
selected_tower.visible = true
|
||||
else:
|
||||
place_tower()
|
||||
|
||||
|
||||
func move_tower():
|
||||
selected_tower.global_position = global_position
|
||||
_state = STATE.PLACING
|
||||
selected_tower = Game.towers.get(towerType).instantiate()
|
||||
towers.set(towerType, selected_tower)
|
||||
selected_tower.collision_layer = 0
|
||||
add_child(selected_tower)
|
||||
|
||||
|
||||
func emitTeamChanges() -> void:
|
||||
|
|
|
|||
|
|
@ -7,3 +7,10 @@ class_name GameStyleBoxFlat
|
|||
set(value):
|
||||
color = value
|
||||
bg_color = Game.getColor(color)
|
||||
|
||||
|
||||
static func createWithColor(_color : Game.COLOR) -> GameStyleBoxFlat:
|
||||
var instance : GameStyleBoxFlat = GameStyleBoxFlat.new()
|
||||
instance.bg_color = Game.getColor(_color)
|
||||
|
||||
return instance
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
extends ProgressBar
|
||||
|
||||
func _ready() -> void:
|
||||
EventBus.cube_integrity_changed.connect(_on_EventBus_cube_integrity_changed)
|
||||
value = 100
|
||||
|
||||
|
||||
func _on_EventBus_cube_integrity_changed(_value, _max_value) -> void:
|
||||
set_value(float(_value)/float(_max_value) * 100.0)
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://dmcgoepvytnn
|
||||
20
UI/gui.gd
20
UI/gui.gd
|
|
@ -1,7 +1,7 @@
|
|||
@tool
|
||||
extends Control
|
||||
|
||||
const BUTTON_QTY = 12
|
||||
const BUTTON_QTY = 8
|
||||
|
||||
const guiButton : PackedScene = preload("res://UI/gui_button.tscn")
|
||||
|
||||
|
|
@ -9,27 +9,41 @@ const guiButton : PackedScene = preload("res://UI/gui_button.tscn")
|
|||
@onready var moneyLabel = %LabelMoney
|
||||
@onready var towerInCubeLabel = %LabelTowerInCube
|
||||
@onready var towerOnTerrainLabel = %LabelTowerOnTerrain
|
||||
@onready var cubeIntegrity = %CubeIntegrity
|
||||
|
||||
var theCube : TheCube
|
||||
var allowedTowers : Array[Tower.TYPE]
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
addTowerButtonNodes()
|
||||
EventBus.cube_ready.connect(cubeReady)
|
||||
EventBus.allowedTowerHasChange.connect(allowedTowerHasChange)
|
||||
EventBus.money_changed.connect(func(amount): moneyLabel.text = str(amount) + " €")
|
||||
EventBus.team_in_rest_changed.connect(func(count): towerInCubeLabel.text = str(count) + " x Zzz")
|
||||
EventBus.team_in_action_changed.connect(func(count): towerOnTerrainLabel.text = str(count) + " in action")
|
||||
EventBus.cube_integrity_changed.connect(updateCubeLife)
|
||||
|
||||
|
||||
func _on_button_cube_pressed() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func _on_button_quit_level_pressed() -> void:
|
||||
func cubeReady(cube: TheCube) -> void:
|
||||
theCube = cube
|
||||
cubeIntegrity.max_value = theCube.max_health
|
||||
|
||||
|
||||
|
||||
func updateCubeLife(newHealth : int) -> void:
|
||||
cubeIntegrity.value = float(newHealth) / float(theCube.max_health) * 100.0
|
||||
|
||||
|
||||
func quitLevel() -> void:
|
||||
Transition.goto("res://UI/start_menu.tscn")
|
||||
|
||||
|
||||
func _on_button_quit_game_pressed() -> void:
|
||||
func quitGame() -> void:
|
||||
get_tree().quit()
|
||||
|
||||
|
||||
|
|
|
|||
135
UI/gui.tscn
135
UI/gui.tscn
|
|
@ -1,12 +1,13 @@
|
|||
[gd_scene load_steps=13 format=3 uid="uid://p6a6rb7sgeqd"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://p6a6rb7sgeqd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bhylcok1l6eke" path="res://UI/gui.gd" id="2_sac4j"]
|
||||
[ext_resource type="Script" uid="uid://dmcgoepvytnn" path="res://UI/cube_integrity.gd" id="2_sj6ny"]
|
||||
[ext_resource type="Script" uid="uid://blnmjxmusrsa7" path="res://UI/GameStyleBoxFlat.gd" id="4_h4fn5"]
|
||||
[ext_resource type="Theme" uid="uid://bbp4qcbwkeg7x" path="res://default_theme.tres" id="5_wpcnu"]
|
||||
[ext_resource type="Texture2D" uid="uid://csl43eb7qjhe4" path="res://Assets/Icones/dog-house.svg" id="7_fffne"]
|
||||
[ext_resource type="PackedScene" uid="uid://dqb5o8w7u50hc" path="res://UI/gui_button.tscn" id="7_parkk"]
|
||||
[ext_resource type="Texture2D" uid="uid://dfnf26suc8yb6" path="res://Assets/Icones/sideswipe.svg" id="8_ay13l"]
|
||||
[ext_resource type="Texture2D" uid="uid://dootdihg7gkoj" path="res://Assets/Icones/exit-door.svg" id="8_decjp"]
|
||||
[ext_resource type="Script" uid="uid://dyhtr6g7kd1g2" path="res://UI/gui_button.gd" id="9_h4fn5"]
|
||||
[ext_resource type="Texture2D" uid="uid://b4m5ejfdrm8s0" path="res://Assets/Icones/power-button.svg" id="9_reygo"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h4fn5"]
|
||||
|
|
@ -20,7 +21,10 @@ border_color = Color(0.099986, 0.099986, 0.0999859, 1)
|
|||
bg_color = Color(0.727498, 0.222072, 0.249347, 1)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3lugd"]
|
||||
bg_color = Color(0.933333, 0.933333, 0.933333, 1)
|
||||
bg_color = Color(0.933, 0.933, 0.933, 1)
|
||||
script = ExtResource("4_h4fn5")
|
||||
color = 4
|
||||
metadata/_custom_type_script = "uid://blnmjxmusrsa7"
|
||||
|
||||
[node name="GUI" type="Control"]
|
||||
layout_mode = 3
|
||||
|
|
@ -40,24 +44,19 @@ anchor_left = 1.0
|
|||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -357.0
|
||||
offset_top = -352.0
|
||||
offset_left = -562.0
|
||||
offset_top = -268.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="InfoPanel" type="Panel" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(189, 0)
|
||||
[node name="InfoPanel" type="PanelContainer" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_h4fn5")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/InfoPanel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
|
|
@ -96,6 +95,7 @@ text = "0"
|
|||
horizontal_alignment = 2
|
||||
|
||||
[node name="CubeIntegrity" type="ProgressBar" parent="HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(10, 5)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
|
|
@ -105,25 +105,15 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_epgl5")
|
|||
value = 50.0
|
||||
fill_mode = 3
|
||||
show_percentage = false
|
||||
script = ExtResource("2_sj6ny")
|
||||
|
||||
[node name="ControlPanelBase" type="Panel" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(352, 352)
|
||||
[node name="ControlPanelBase" type="PanelContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("5_wpcnu")
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 8
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_3lugd")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/ControlPanelBase"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -352.0
|
||||
offset_top = -352.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
|
|
@ -132,6 +122,8 @@ theme_override_constants/margin_bottom = 10
|
|||
[node name="ButtonContainer" type="GridContainer" parent="HBoxContainer/ControlPanelBase/MarginContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
columns = 4
|
||||
|
||||
[node name="CubeBtn" parent="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer" instance=ExtResource("7_parkk")]
|
||||
|
|
@ -150,6 +142,91 @@ texture = ExtResource("9_reygo")
|
|||
layout_mode = 2
|
||||
texture = ExtResource("8_ay13l")
|
||||
|
||||
[node name="TowerInfoPanel" type="HBoxContainer" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = -268.0
|
||||
offset_right = 552.0
|
||||
grow_vertical = 0
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="InfoPanel" type="PanelContainer" parent="TowerInfoPanel"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_h4fn5")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerInfoPanel/InfoPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="TowerInfoPanel/InfoPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="LabelMoney" type="Label" parent="TowerInfoPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
tooltip_text = "La thune."
|
||||
mouse_filter = 1
|
||||
theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
||||
text = "1'000'000 €"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="LabelTowerInCube" type="Label" parent="TowerInfoPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
tooltip_text = "Le nombre de héros disponible dans le cube !"
|
||||
mouse_filter = 1
|
||||
theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="LabelTowerOnTerrain" type="Label" parent="TowerInfoPanel/InfoPanel/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
tooltip_text = "Le nombre de héros en action sur le terrain !"
|
||||
mouse_filter = 1
|
||||
theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
|
||||
text = "0"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="TowerInfoPanel" type="PanelContainer" parent="TowerInfoPanel"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 8
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_3lugd")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TowerInfoPanel/TowerInfoPanel"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="ButtonContainer" type="GridContainer" parent="TowerInfoPanel/TowerInfoPanel/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
columns = 4
|
||||
|
||||
[node name="Button" type="Button" parent="TowerInfoPanel/TowerInfoPanel/MarginContainer/ButtonContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 20
|
||||
text = "Améliorer"
|
||||
script = ExtResource("9_h4fn5")
|
||||
metadata/_custom_type_script = "uid://dyhtr6g7kd1g2"
|
||||
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/CubeBtn" to="." method="_on_button_cube_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/QuitLevelBtn" to="." method="_on_button_quit_level_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/QuitGameBtn" to="." method="_on_button_quit_game_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/QuitLevelBtn" to="." method="quitLevel"]
|
||||
[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/QuitGameBtn" to="." method="quitGame"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/TowerButton" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/TowerButton" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65726" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65726" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65727" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65727" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65728" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65728" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65729" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65729" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65730" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65730" method="buttonToggled"]
|
||||
[connection signal="toggled" from="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65731" to="HBoxContainer/ControlPanelBase/MarginContainer/ButtonContainer/@Button@65731" method="buttonToggled"]
|
||||
|
|
|
|||
|
|
@ -16,9 +16,10 @@ var towerType : Tower.TYPE :
|
|||
type = TYPE.TOWER
|
||||
toggle_mode = true
|
||||
$EnergyBar.visible = true
|
||||
add_theme_stylebox_override("pressed", GameStyleBoxFlat.createWithColor(Game.COLOR.SELECTED))
|
||||
EventBus.energy_has_changed.connect(towerChanged)
|
||||
EventBus.tower_builded.connect(towerChanged)
|
||||
EventBus.tower_selected.connect(func(type): set_pressed_no_signal(type == towerType))
|
||||
EventBus.tower_selected.connect(func(_type): set_pressed_no_signal(_type == towerType))
|
||||
|
||||
|
||||
@export var texture : Texture2D :
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue