Added first setup of level-based system

This commit is contained in:
2026-02-05 05:03:53 +11:00
parent 2bacff5b7d
commit 067d8c29af
57 changed files with 906 additions and 82 deletions

View File

@@ -0,0 +1,30 @@
class_name MainMenuLevelSelector extends PanelContainer
signal level_selected(specs: LevelSpecs)
var side: int = 0
@export var levels: Array[LevelSpecs] = []
func _on_button_pressed() -> void:
side = 0
$VBoxContainer/Label.text = "Standard Campaign Mode"
func _on_button_2_pressed() -> void:
side = 1
$VBoxContainer/Label.text = "Endless Mode with random waves and all unlocked equipment"
func _ready() -> void:
var i: int = 0
for level: LevelSpecs in levels:
i += 1
var button: Button = Button.new()
button.text = "Level " + str(i)
$VBoxContainer.add_child(button)
button.pressed.connect(start_level.bind(i - 1))
func start_level(level: int) -> void:
level_selected.emit(levels[level])