Compare commits

..

1 commit

Author SHA1 Message Date
Varylios
fefc3e8a5c feat: add level editor addon 2025-08-29 21:42:00 +02:00
2 changed files with 18 additions and 0 deletions

View file

@ -17,6 +17,7 @@ enum DIRECTION { UP, DOWN, TOP, LEFT, VERTICAL, HORIZONTAL}
@onready var autoLaunchLevel := $VBoxContainer2/ButtonContainer2/AutoLaunchLevel @onready var autoLaunchLevel := $VBoxContainer2/ButtonContainer2/AutoLaunchLevel
@onready var waitForKill := $VBoxContainer2/ButtonContainer4/WaitForKill
@onready var levelSelect := $VBoxContainer2/HBoxContainer/LevelSelect @onready var levelSelect := $VBoxContainer2/HBoxContainer/LevelSelect
@onready var waveTabContainer := $VBoxContainer2/ScrollContainer/WaveContainer @onready var waveTabContainer := $VBoxContainer2/ScrollContainer/WaveContainer
@onready var waveTimerInput := $VBoxContainer2/ButtonContainer3/WaveTimer @onready var waveTimerInput := $VBoxContainer2/ButtonContainer3/WaveTimer
@ -41,6 +42,7 @@ func buildTree() -> void:
autoLaunchLevel.button_pressed = level.auto_start autoLaunchLevel.button_pressed = level.auto_start
for i in level.waves.size(): for i in level.waves.size():
var troopContainer := VBoxContainer.new() var troopContainer := VBoxContainer.new()
waitForKill.button_pressed = level.waves[i].wait_for_enemy_kills
buildWave(level.waves[i], troopContainer) buildWave(level.waves[i], troopContainer)
waveTabContainer.add_child(troopContainer) waveTabContainer.add_child(troopContainer)
waveTabContainer.set_tab_title(i, "Vague N°" + str(i + 1)) waveTabContainer.set_tab_title(i, "Vague N°" + str(i + 1))
@ -226,6 +228,10 @@ func _on_auto_launch_wave_toggled(toggled_on: bool) -> void:
level.auto_start = toggled_on level.auto_start = toggled_on
func _on_wait_for_kill_toggled(toggled_on: bool) -> void:
level.waves[currentWave].wait_for_enemy_kills = toggled_on
func _on_new_level_pressed() -> void: func _on_new_level_pressed() -> void:
level = Level.new() level = Level.new()
levelSelect.add_item(LEVEL_NAME_PATERN.format([["id", levelSelect.item_count + 1]])) levelSelect.add_item(LEVEL_NAME_PATERN.format([["id", levelSelect.item_count + 1]]))

View file

@ -29,6 +29,7 @@ layout_mode = 2
[node name="LevelSelect" type="OptionButton" parent="VBoxContainer2/HBoxContainer"] [node name="LevelSelect" type="OptionButton" parent="VBoxContainer2/HBoxContainer"]
layout_mode = 2 layout_mode = 2
selected = 0 selected = 0
allow_reselect = true
item_count = 2 item_count = 2
popup/item_0/text = "level_1" popup/item_0/text = "level_1"
popup/item_0/id = 0 popup/item_0/id = 0
@ -86,6 +87,16 @@ layout_mode = 2
layout_mode = 2 layout_mode = 2
text = "Suprimer la vague" text = "Suprimer la vague"
[node name="ButtonContainer4" type="HBoxContainer" parent="VBoxContainer2"]
layout_mode = 2
[node name="WaitForKill" type="CheckButton" parent="VBoxContainer2/ButtonContainer4"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer2/ButtonContainer4"]
layout_mode = 2
text = "Attendre la mort des enemies pour lancer la vague suivante"
[node name="ButtonContainer3" type="HBoxContainer" parent="VBoxContainer2"] [node name="ButtonContainer3" type="HBoxContainer" parent="VBoxContainer2"]
layout_mode = 2 layout_mode = 2
@ -127,6 +138,7 @@ drag_to_rearrange_enabled = true
[connection signal="pressed" from="VBoxContainer2/ButtonContainer/Add wave" to="." method="addWave"] [connection signal="pressed" from="VBoxContainer2/ButtonContainer/Add wave" to="." method="addWave"]
[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="pressed" from="VBoxContainer2/ButtonContainer2/RemoveWave" to="." method="removeWave"] [connection signal="pressed" from="VBoxContainer2/ButtonContainer2/RemoveWave" to="." method="removeWave"]
[connection signal="toggled" from="VBoxContainer2/ButtonContainer4/WaitForKill" to="." method="_on_wait_for_kill_toggled"]
[connection signal="valueHasChanged" from="VBoxContainer2/ButtonContainer3/WaveTimer" to="." method="changeWaveCooldown"] [connection signal="valueHasChanged" from="VBoxContainer2/ButtonContainer3/WaveTimer" to="." method="changeWaveCooldown"]
[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"]