extends Control const GAMEPLAY_SCENE := "res://world/island.tscn" @onready var start_button: Button = $Panel/ButtonList/StartButton @onready var continue_button: Button = $Panel/ButtonList/ContinueButton @onready var options_button: Button = $Panel/ButtonList/OptionsButton @onready var credits_button: Button = $Panel/ButtonList/CreditsButton @onready var exit_button: Button = $Panel/ButtonList/ExitButton @onready var overwrite_dialog: ConfirmationDialog = $OverwriteConfirmDialog func _ready() -> void: continue_button.disabled = not SaveManager.has_save() start_button.pressed.connect(_on_start_pressed) continue_button.pressed.connect(_on_continue_pressed) options_button.pressed.connect(_on_options_pressed) credits_button.pressed.connect(_on_credits_pressed) exit_button.pressed.connect(_on_exit_pressed) overwrite_dialog.confirmed.connect(_on_overwrite_confirmed) func _on_start_pressed() -> void: if SaveManager.has_save(): overwrite_dialog.popup_centered() else: _start_new_game() func _on_overwrite_confirmed() -> void: _start_new_game() func _start_new_game() -> void: SaveManager.start_new_game() get_tree().change_scene_to_file(GAMEPLAY_SCENE) func _on_continue_pressed() -> void: SaveManager.load_game() get_tree().change_scene_to_file(GAMEPLAY_SCENE) func _on_options_pressed() -> void: get_tree().change_scene_to_file("res://boot/options_menu.tscn") func _on_credits_pressed() -> void: get_tree().change_scene_to_file("res://boot/credits_screen.tscn") func _on_exit_pressed() -> void: get_tree().quit()