## MainMenu - Main menu scene with navigation to avatar customization. ## ## Provides buttons for: ## - Customize Avatar (opens avatar customization UI) ## - Play ## - Quit extends Control # --------------------------------------------------------------------------- # UI References # --------------------------------------------------------------------------- @onready var customize_button: Button = $CenterContainer/VBoxContainer/CustomizeButton @onready var play_button: Button = $CenterContainer/VBoxContainer/PlayButton @onready var quit_button: Button = $CenterContainer/VBoxContainer/QuitButton # --------------------------------------------------------------------------- # Signals # --------------------------------------------------------------------------- ## Emitted when the player requests to customize their avatar. signal open_customization ## Emitted when the player requests to start the game. signal start_game ## Emitted when the player requests to quit. signal quit_requested # --------------------------------------------------------------------------- # Lifecycle # --------------------------------------------------------------------------- func _ready() -> void: customize_button.pressed.connect(_on_customize_pressed) play_button.pressed.connect(_on_play_pressed) quit_button.pressed.connect(_on_quit_pressed) # --------------------------------------------------------------------------- # Button Handlers # --------------------------------------------------------------------------- func _on_customize_pressed() -> void: open_customization.emit() func _on_play_pressed() -> void: start_game.emit() func _on_quit_pressed() -> void: quit_requested.emit() get_tree().quit()