chore: improve and fix things
This commit is contained in:
parent
ef1a638466
commit
aa7116be5d
12 changed files with 70 additions and 133 deletions
|
|
@ -1,53 +1,35 @@
|
||||||
[gd_resource type="Resource" script_class="Level" load_steps=11 format=3 uid="uid://ob41fnhkjr3o"]
|
[gd_resource type="Resource" script_class="Level" load_steps=9 format=3 uid="uid://ob41fnhkjr3o"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cuhq6u67cbbqm" path="res://Scripts/Level.gd" id="1_ftl6b"]
|
[ext_resource type="Script" uid="uid://cuhq6u67cbbqm" path="res://Scripts/Level/Level.gd" id="1_ftl6b"]
|
||||||
[ext_resource type="Script" uid="uid://chu8s12rtdeqx" path="res://Scripts/Wave.gd" id="2_457yt"]
|
[ext_resource type="Script" uid="uid://chu8s12rtdeqx" path="res://Scripts/Level/Wave.gd" id="2_457yt"]
|
||||||
[ext_resource type="Script" uid="uid://blxx3vs2wnfet" path="res://Scripts/Troop.gd" id="3_ub8wd"]
|
[ext_resource type="Script" uid="uid://blxx3vs2wnfet" path="res://Scripts/Level/Troop.gd" id="3_ub8wd"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dknt1oiyei5e5" path="res://enemies/enemy-a.tscn" id="4_ujs1b"]
|
[ext_resource type="PackedScene" uid="uid://dknt1oiyei5e5" path="res://enemies/enemy-a.tscn" id="4_ujs1b"]
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_1mxdl"]
|
|
||||||
script = ExtResource("3_ub8wd")
|
|
||||||
enemy = ExtResource("4_ujs1b")
|
|
||||||
number_to_spawn = 3
|
|
||||||
spawn_delay = 0.0
|
|
||||||
metadata/_custom_type_script = "uid://blxx3vs2wnfet"
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_87wss"]
|
[sub_resource type="Resource" id="Resource_87wss"]
|
||||||
script = ExtResource("3_ub8wd")
|
script = ExtResource("3_ub8wd")
|
||||||
enemy = ExtResource("4_ujs1b")
|
enemy = ExtResource("4_ujs1b")
|
||||||
number_to_spawn = 1
|
number_to_spawn = 1
|
||||||
spawn_delay = 10.0
|
spawn_delay = 5.0
|
||||||
metadata/_custom_type_script = "uid://blxx3vs2wnfet"
|
metadata/_custom_type_script = "uid://blxx3vs2wnfet"
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_457yt"]
|
[sub_resource type="Resource" id="Resource_457yt"]
|
||||||
script = ExtResource("2_457yt")
|
script = ExtResource("2_457yt")
|
||||||
troops = Array[ExtResource("3_ub8wd")]([SubResource("Resource_1mxdl"), SubResource("Resource_87wss")])
|
troops = Array[ExtResource("3_ub8wd")]([SubResource("Resource_87wss")])
|
||||||
wait_for_enemy_kills = true
|
|
||||||
metadata/_custom_type_script = "uid://chu8s12rtdeqx"
|
metadata/_custom_type_script = "uid://chu8s12rtdeqx"
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_ps5n4"]
|
|
||||||
script = ExtResource("3_ub8wd")
|
|
||||||
enemy = ExtResource("4_ujs1b")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 0.0
|
|
||||||
metadata/_custom_type_script = "uid://blxx3vs2wnfet"
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_qfjse"]
|
[sub_resource type="Resource" id="Resource_qfjse"]
|
||||||
script = ExtResource("3_ub8wd")
|
script = ExtResource("3_ub8wd")
|
||||||
enemy = ExtResource("4_ujs1b")
|
enemy = ExtResource("4_ujs1b")
|
||||||
number_to_spawn = 1
|
number_to_spawn = 1
|
||||||
spawn_delay = 10.0
|
spawn_delay = 5.0
|
||||||
metadata/_custom_type_script = "uid://blxx3vs2wnfet"
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_m6gub"]
|
[sub_resource type="Resource" id="Resource_qeljc"]
|
||||||
script = ExtResource("2_457yt")
|
script = ExtResource("2_457yt")
|
||||||
troops = Array[ExtResource("3_ub8wd")]([SubResource("Resource_ps5n4"), SubResource("Resource_qfjse")])
|
troops = Array[ExtResource("3_ub8wd")]([SubResource("Resource_qfjse")])
|
||||||
wait_for_enemy_kills = true
|
|
||||||
metadata/_custom_type_script = "uid://chu8s12rtdeqx"
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_ftl6b")
|
script = ExtResource("1_ftl6b")
|
||||||
waves = Array[ExtResource("2_457yt")]([SubResource("Resource_457yt"), SubResource("Resource_m6gub")])
|
waves = Array[ExtResource("2_457yt")]([SubResource("Resource_457yt"), SubResource("Resource_qeljc")])
|
||||||
auto_start = false
|
auto_start = false
|
||||||
allowedTowers = Array[int]([1, 2])
|
allowedTowers = Array[int]([1, 2])
|
||||||
metadata/_custom_type_script = "uid://cuhq6u67cbbqm"
|
metadata/_custom_type_script = "uid://cuhq6u67cbbqm"
|
||||||
|
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
[gd_resource type="Resource" script_class="Level" load_steps=17 format=3 uid="uid://cbgaiaaleyf6j"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cuhq6u67cbbqm" path="res://Scripts/Level.gd" id="1_c4t4w"]
|
|
||||||
[ext_resource type="Script" uid="uid://chu8s12rtdeqx" path="res://Scripts/Wave.gd" id="2_2ji0m"]
|
|
||||||
[ext_resource type="Script" uid="uid://blxx3vs2wnfet" path="res://Scripts/Troop.gd" id="3_y8rub"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dknt1oiyei5e5" path="res://enemies/enemy-a.tscn" id="4_nj0jn"]
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_cm6sg"]
|
|
||||||
script = ExtResource("2_2ji0m")
|
|
||||||
troops = Array[ExtResource("3_y8rub")]([])
|
|
||||||
wait_for_enemy_kills = true
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_ps5n4"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
enemy = ExtResource("4_nj0jn")
|
|
||||||
number_to_spawn = 7
|
|
||||||
spawn_delay = 3.0
|
|
||||||
metadata/_custom_type_script = "uid://blxx3vs2wnfet"
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_qeljc"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
enemy = ExtResource("4_nj0jn")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_1p7sg"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
enemy = ExtResource("4_nj0jn")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 0.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_y8rub"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
enemy = ExtResource("4_nj0jn")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 0.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_w0brl"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_c4t4w"]
|
|
||||||
script = ExtResource("2_2ji0m")
|
|
||||||
troops = Array[ExtResource("3_y8rub")]([SubResource("Resource_ps5n4"), SubResource("Resource_qeljc"), SubResource("Resource_1p7sg"), SubResource("Resource_y8rub"), SubResource("Resource_w0brl")])
|
|
||||||
wait_for_enemy_kills = true
|
|
||||||
metadata/_custom_type_script = "uid://chu8s12rtdeqx"
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_2ji0m"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_nj0jn"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_s83h5"]
|
|
||||||
script = ExtResource("2_2ji0m")
|
|
||||||
troops = Array[ExtResource("3_y8rub")]([SubResource("Resource_2ji0m"), SubResource("Resource_nj0jn")])
|
|
||||||
wait_for_enemy_kills = true
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_833nr"]
|
|
||||||
script = ExtResource("3_y8rub")
|
|
||||||
number_to_spawn = 1
|
|
||||||
spawn_delay = 1.0
|
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_xgtww"]
|
|
||||||
script = ExtResource("2_2ji0m")
|
|
||||||
troops = Array[ExtResource("3_y8rub")]([SubResource("Resource_833nr")])
|
|
||||||
wait_for_enemy_kills = true
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
script = ExtResource("1_c4t4w")
|
|
||||||
waves = Array[ExtResource("2_2ji0m")]([SubResource("Resource_cm6sg"), SubResource("Resource_c4t4w"), SubResource("Resource_s83h5"), SubResource("Resource_xgtww")])
|
|
||||||
auto_start = false
|
|
||||||
allowedTowers = Array[int]([1, 2])
|
|
||||||
metadata/_custom_type_script = "uid://cuhq6u67cbbqm"
|
|
||||||
|
|
@ -27,6 +27,7 @@ func _process(delta: float) -> void:
|
||||||
|
|
||||||
func spawn_next_wave() -> void:
|
func spawn_next_wave() -> void:
|
||||||
if level.waves.is_empty():
|
if level.waves.is_empty():
|
||||||
|
queue_free.call_deferred()
|
||||||
EventBus.player_has_won.emit()
|
EventBus.player_has_won.emit()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
|
|
||||||
[node name="Pierre" instance=ExtResource("1_7f7qx")]
|
[node name="Pierre" instance=ExtResource("1_7f7qx")]
|
||||||
script = ExtResource("1_v16mf")
|
script = ExtResource("1_v16mf")
|
||||||
tower_name = null
|
|
||||||
tower_type = 1
|
tower_type = 1
|
||||||
icone = ExtResource("3_odfqx")
|
icone = ExtResource("3_odfqx")
|
||||||
bio = null
|
bio = null
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ var enemies : Dictionary
|
||||||
|
|
||||||
@onready var autoLaunchLevel := $VBoxContainer2/ButtonContainer2/AutoLaunchLevel
|
@onready var autoLaunchLevel := $VBoxContainer2/ButtonContainer2/AutoLaunchLevel
|
||||||
@onready var levelSelect := $VBoxContainer2/HBoxContainer/LevelSelect
|
@onready var levelSelect := $VBoxContainer2/HBoxContainer/LevelSelect
|
||||||
@onready var waveTabContainer := $VBoxContainer2/ScrollContainer/WaveContainer
|
@onready var waveTabContainer : TabContainer = $VBoxContainer2/ScrollContainer/WaveContainer
|
||||||
@onready var towerSelector := $VBoxContainer2/ButtonContainer5/TowerSelector
|
@onready var towerSelector := $VBoxContainer2/ButtonContainer5/TowerSelector
|
||||||
|
|
||||||
var level : Level
|
var level : Level
|
||||||
|
|
@ -26,8 +26,7 @@ var currentWave : int = -1
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
enemies = getOptionsFromFile(ENEMY_PATH, ENEMY_REGEX_PATERN)
|
resetApp()
|
||||||
levelSelect.setOptions(getOptionsFromFile(LEVEL_PATH, LEVEL_REGEX_PATERN))
|
|
||||||
|
|
||||||
towerSelector.clear()
|
towerSelector.clear()
|
||||||
towerSelector.max_columns = Tower.TYPES.size()
|
towerSelector.max_columns = Tower.TYPES.size()
|
||||||
|
|
@ -40,9 +39,10 @@ func _input(event: InputEvent) -> void:
|
||||||
if event is not InputEventKey || !event.pressed:
|
if event is not InputEventKey || !event.pressed:
|
||||||
return
|
return
|
||||||
|
|
||||||
if event.keycode == KEY_RIGHT && waveTabContainer.get_tab_count() > waveTabContainer.current_tab:
|
# NOTE prevent to select new wave button
|
||||||
|
if event.keycode == KEY_PAGEUP:
|
||||||
waveTabContainer.select_next_available()
|
waveTabContainer.select_next_available()
|
||||||
elif event.keycode == KEY_LEFT && waveTabContainer.current_tab > 0:
|
elif event.keycode == KEY_PAGEDOWN:
|
||||||
waveTabContainer.select_previous_available()
|
waveTabContainer.select_previous_available()
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -53,7 +53,9 @@ func buildTree() -> void:
|
||||||
manageAllowedTowers()
|
manageAllowedTowers()
|
||||||
autoLaunchLevel.button_pressed = level.auto_start
|
autoLaunchLevel.button_pressed = level.auto_start
|
||||||
for i in level.waves.size():
|
for i in level.waves.size():
|
||||||
buildWave(level.waves[i])
|
waveTabContainer.add_child(buildWave(level.waves[i]))
|
||||||
|
|
||||||
|
recreateTabBar()
|
||||||
|
|
||||||
|
|
||||||
func manageAllowedTowers() -> void:
|
func manageAllowedTowers() -> void:
|
||||||
|
|
@ -63,14 +65,14 @@ func manageAllowedTowers() -> void:
|
||||||
towerSelector.select(towerAllowed - 1, false)
|
towerSelector.select(towerAllowed - 1, false)
|
||||||
|
|
||||||
|
|
||||||
func buildWave(wave : Wave) -> void:
|
func buildWave(wave : Wave) -> VBoxContainer:
|
||||||
var troopContainer := VBoxContainer.new()
|
var troopContainer := VBoxContainer.new()
|
||||||
|
|
||||||
for i in wave.troops.size():
|
for i in wave.troops.size():
|
||||||
var troop : Troop = wave.troops[i]
|
var troop : Troop = wave.troops[i]
|
||||||
|
|
||||||
if troop.spawn_delay > 0 || i > 0 \
|
if troop.spawn_delay > 0 || i > 0 && \
|
||||||
&& !troopContainer.get_child(troopContainer.get_child_count() - 1).has_meta("troop_group"):
|
!troopContainer.get_child(troopContainer.get_child_count() - 1).has_meta("troop_group"):
|
||||||
troopContainer.add_child(HSeparator.new())
|
troopContainer.add_child(HSeparator.new())
|
||||||
|
|
||||||
if troop.spawn_delay:
|
if troop.spawn_delay:
|
||||||
|
|
@ -78,7 +80,7 @@ func buildWave(wave : Wave) -> void:
|
||||||
func(newValue):
|
func(newValue):
|
||||||
troop.spawn_delay = newValue
|
troop.spawn_delay = newValue
|
||||||
if newValue == 0:
|
if newValue == 0:
|
||||||
cleanAndBuildMenu(),
|
refreshWaveNode(level.waves[currentWave], currentWave),
|
||||||
troop.spawn_delay,
|
troop.spawn_delay,
|
||||||
CustomLineEdit.TYPE.FLOAT,
|
CustomLineEdit.TYPE.FLOAT,
|
||||||
"sec."
|
"sec."
|
||||||
|
|
@ -106,7 +108,7 @@ func buildWave(wave : Wave) -> void:
|
||||||
button.pressed.connect(
|
button.pressed.connect(
|
||||||
func():
|
func():
|
||||||
troop.spawn_delay = 1
|
troop.spawn_delay = 1
|
||||||
cleanAndBuildMenu()
|
refreshWaveNode(level.waves[currentWave], currentWave),
|
||||||
)
|
)
|
||||||
ennemyContainer.add_child(button)
|
ennemyContainer.add_child(button)
|
||||||
|
|
||||||
|
|
@ -117,9 +119,8 @@ func buildWave(wave : Wave) -> void:
|
||||||
addTroopBtn.text = "Ajouter une troupe"
|
addTroopBtn.text = "Ajouter une troupe"
|
||||||
addTroopBtn.pressed.connect(addTroop.bind(wave))
|
addTroopBtn.pressed.connect(addTroop.bind(wave))
|
||||||
troopContainer.add_child(addTroopBtn)
|
troopContainer.add_child(addTroopBtn)
|
||||||
waveTabContainer.add_child(troopContainer)
|
|
||||||
var tabCount : int = waveTabContainer.get_tab_count()
|
return troopContainer
|
||||||
waveTabContainer.set_tab_title(tabCount - 1, "Vague N°" + str(tabCount))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -180,17 +181,29 @@ func createSection(sectionName : String, BtnCallback : Callable, settings : Labe
|
||||||
|
|
||||||
func cleanMenu() -> void:
|
func cleanMenu() -> void:
|
||||||
for child in waveTabContainer.get_children():
|
for child in waveTabContainer.get_children():
|
||||||
child.free()
|
waveTabContainer.remove_child(child)
|
||||||
|
child.queue_free()
|
||||||
|
|
||||||
|
|
||||||
func addTroop(toWave : Wave) -> void:
|
func addTroop(toWave : Wave) -> void:
|
||||||
toWave.troops.append(Troop.new())
|
toWave.troops.append(Troop.new())
|
||||||
cleanAndBuildMenu()
|
refreshWaveNode(toWave, currentWave)
|
||||||
|
|
||||||
|
|
||||||
func removeTroop(troop : Troop, fromWave : Wave) -> void:
|
func removeTroop(troop : Troop, fromWave : Wave) -> void:
|
||||||
fromWave.troops.erase(troop)
|
fromWave.troops.erase(troop)
|
||||||
cleanAndBuildMenu()
|
refreshWaveNode(fromWave, currentWave)
|
||||||
|
|
||||||
|
|
||||||
|
func refreshWaveNode(wave : Wave, waveIdx : int) -> void:
|
||||||
|
var waveNode := waveTabContainer.get_child(waveIdx)
|
||||||
|
waveTabContainer.remove_child(waveNode)
|
||||||
|
waveNode.queue_free()
|
||||||
|
var waveUI := buildWave(wave)
|
||||||
|
waveTabContainer.add_child(waveUI)
|
||||||
|
waveTabContainer.move_child(waveUI, waveIdx)
|
||||||
|
recreateTabBar()
|
||||||
|
waveTabContainer.current_tab = waveIdx
|
||||||
|
|
||||||
|
|
||||||
func cleanAndBuildMenu() -> void:
|
func cleanAndBuildMenu() -> void:
|
||||||
|
|
@ -198,16 +211,26 @@ func cleanAndBuildMenu() -> void:
|
||||||
buildTree()
|
buildTree()
|
||||||
|
|
||||||
|
|
||||||
|
func resetApp() -> void:
|
||||||
|
enemies = getOptionsFromFile(ENEMY_PATH, ENEMY_REGEX_PATERN)
|
||||||
|
levelSelect.setOptions(getOptionsFromFile(LEVEL_PATH, LEVEL_REGEX_PATERN))
|
||||||
|
cleanAndBuildMenu()
|
||||||
|
|
||||||
|
|
||||||
func removeWave() -> void:
|
func removeWave() -> void:
|
||||||
level.waves.remove_at(currentWave)
|
level.waves.remove_at(currentWave)
|
||||||
waveTabContainer.get_child(currentWave).free()
|
var wave := waveTabContainer.get_child(currentWave)
|
||||||
|
waveTabContainer.remove_child(wave)
|
||||||
|
wave.queue_free()
|
||||||
|
recreateTabBar()
|
||||||
|
|
||||||
|
|
||||||
func addWave() -> void:
|
func addWave() -> void:
|
||||||
var wave := Wave.new()
|
var wave := Wave.new()
|
||||||
level.waves.append(wave)
|
level.waves.append(wave)
|
||||||
buildWave(wave)
|
waveTabContainer.add_child(buildWave(wave))
|
||||||
waveTabContainer.select_next_available()
|
recreateTabBar()
|
||||||
|
waveTabContainer.current_tab = level.waves.size() - 1
|
||||||
|
|
||||||
|
|
||||||
func changeWaveOrder(newPos : int) -> void:
|
func changeWaveOrder(newPos : int) -> void:
|
||||||
|
|
@ -267,3 +290,13 @@ func getOptionsFromFile(path : String, regexPattern : String) -> Dictionary :
|
||||||
files.set(fileMatch.strings[1], path + "/" + file)
|
files.set(fileMatch.strings[1], path + "/" + file)
|
||||||
|
|
||||||
return files
|
return files
|
||||||
|
|
||||||
|
|
||||||
|
func recreateTabBar() -> void:
|
||||||
|
var waveTabBar := waveTabContainer.get_tab_bar()
|
||||||
|
|
||||||
|
for i in waveTabBar.tab_count:
|
||||||
|
if i < waveTabContainer.get_child_count():
|
||||||
|
waveTabBar.set_tab_title(i, "Vague N°" + str(i + 1))
|
||||||
|
else:
|
||||||
|
waveTabBar.remove_tab(i)
|
||||||
|
|
|
||||||
|
|
@ -30,11 +30,9 @@ layout_mode = 2
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
selected = 0
|
selected = 0
|
||||||
allow_reselect = true
|
allow_reselect = true
|
||||||
item_count = 2
|
item_count = 1
|
||||||
popup/item_0/text = "level_1"
|
popup/item_0/text = "level_1"
|
||||||
popup/item_0/id = 0
|
popup/item_0/id = 0
|
||||||
popup/item_1/text = "level_2"
|
|
||||||
popup/item_1/id = 1
|
|
||||||
script = ExtResource("2_xjxpq")
|
script = ExtResource("2_xjxpq")
|
||||||
metadata/_custom_type_script = "uid://b47p2u458hsn0"
|
metadata/_custom_type_script = "uid://b47p2u458hsn0"
|
||||||
|
|
||||||
|
|
@ -46,6 +44,10 @@ text = "Nouveau Niveau"
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Sauvegarder"
|
text = "Sauvegarder"
|
||||||
|
|
||||||
|
[node name="RefreshUI" type="Button" parent="VBoxContainer2/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Rafraichir"
|
||||||
|
|
||||||
[node name="ButtonContainer" type="HBoxContainer" parent="VBoxContainer2"]
|
[node name="ButtonContainer" type="HBoxContainer" parent="VBoxContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
|
|
@ -99,17 +101,16 @@ size_flags_vertical = 3
|
||||||
[node name="WaveContainer" type="TabContainer" parent="VBoxContainer2/ScrollContainer"]
|
[node name="WaveContainer" type="TabContainer" parent="VBoxContainer2/ScrollContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
current_tab = 0
|
|
||||||
clip_tabs = false
|
clip_tabs = false
|
||||||
drag_to_rearrange_enabled = true
|
drag_to_rearrange_enabled = true
|
||||||
|
|
||||||
[connection signal="onValueChanged" from="VBoxContainer2/HBoxContainer/LevelSelect" to="." method="selectLevel"]
|
[connection signal="onValueChanged" from="VBoxContainer2/HBoxContainer/LevelSelect" to="." method="selectLevel"]
|
||||||
[connection signal="pressed" from="VBoxContainer2/HBoxContainer/NewLevel" to="." method="_on_new_level_pressed"]
|
[connection signal="pressed" from="VBoxContainer2/HBoxContainer/NewLevel" to="." method="_on_new_level_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer2/HBoxContainer/Save" to="." method="_on_save_pressed"]
|
[connection signal="pressed" from="VBoxContainer2/HBoxContainer/Save" to="." method="_on_save_pressed"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer2/HBoxContainer/RefreshUI" to="." method="resetApp"]
|
||||||
[connection signal="pressed" from="VBoxContainer2/ButtonContainer/Add wave" to="." method="addWave"]
|
[connection signal="pressed" from="VBoxContainer2/ButtonContainer/Add wave" to="." method="addWave"]
|
||||||
[connection signal="pressed" from="VBoxContainer2/ButtonContainer/RemoveWave" to="." method="removeWave"]
|
[connection signal="pressed" from="VBoxContainer2/ButtonContainer/RemoveWave" to="." method="removeWave"]
|
||||||
[connection signal="toggled" from="VBoxContainer2/ButtonContainer2/AutoLaunchLevel" to="." method="_on_auto_launch_wave_toggled"]
|
[connection signal="toggled" from="VBoxContainer2/ButtonContainer2/AutoLaunchLevel" to="." method="_on_auto_launch_wave_toggled"]
|
||||||
[connection signal="multi_selected" from="VBoxContainer2/ButtonContainer5/TowerSelector" to="." method="onSelectedTowerChange"]
|
[connection signal="multi_selected" from="VBoxContainer2/ButtonContainer5/TowerSelector" to="." method="onSelectedTowerChange"]
|
||||||
[connection signal="active_tab_rearranged" from="VBoxContainer2/ScrollContainer/WaveContainer" to="." method="changeWaveOrder"]
|
[connection signal="active_tab_rearranged" from="VBoxContainer2/ScrollContainer/WaveContainer" to="." method="changeWaveOrder"]
|
||||||
[connection signal="tab_changed" from="VBoxContainer2/ScrollContainer/WaveContainer" to="." method="tabFocusHaschanged"]
|
[connection signal="tab_changed" from="VBoxContainer2/ScrollContainer/WaveContainer" to="." method="tabFocusHaschanged"]
|
||||||
[connection signal="tab_hovered" from="VBoxContainer2/ScrollContainer/WaveContainer" to="." method="test"]
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue