2024-10-01 23:32:59 +00:00
|
|
|
extends Panel
|
|
|
|
|
|
2024-10-06 09:40:42 +00:00
|
|
|
var has_stage:
|
|
|
|
|
set(value):
|
|
|
|
|
value = has_stage
|
|
|
|
|
if is_node_ready():
|
|
|
|
|
new_game_button.disabled = not has_stage
|
|
|
|
|
continue_button.disabled = not has_stage
|
|
|
|
|
load_game_button.disabled = not has_stage
|
|
|
|
|
settings_button.disabled = not has_stage
|
|
|
|
|
quit_button.disabled = not has_stage
|
|
|
|
|
|
2024-10-01 23:32:59 +00:00
|
|
|
signal start_game(savegame: SaveGame)
|
|
|
|
|
signal open_settings(new_game: bool)
|
|
|
|
|
|
|
|
|
|
@onready var new_game_button: Button = $PanelContainer/NewGameButton
|
|
|
|
|
@onready var continue_button: Button = $PanelContainer/ContinueGameButton
|
|
|
|
|
@onready var load_game_button: Button = $PanelContainer/LoadGameButton
|
|
|
|
|
@onready var settings_button: Button = $PanelContainer/SettingsButton
|
|
|
|
|
@onready var quit_button: Button = $PanelContainer/QuitButton
|
2024-10-06 09:40:42 +00:00
|
|
|
@onready var save_game_handle: SaveGameHandle = %SaveGameHandle
|
2024-10-01 23:32:59 +00:00
|
|
|
|
|
|
|
|
@export var save_game_exists: bool = false:
|
|
|
|
|
set(value):
|
|
|
|
|
save_game_exists = value
|
2024-10-06 09:40:42 +00:00
|
|
|
|
|
|
|
|
var await_new_game: bool = false
|
|
|
|
|
|
2024-10-01 23:32:59 +00:00
|
|
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
|
|
|
func _ready() -> void:
|
2024-10-06 09:40:42 +00:00
|
|
|
save_game_handle.picked.connect(_on_save_picked)
|
|
|
|
|
new_game_button.pressed.connect(_on_new_game_pressed)
|
|
|
|
|
continue_button
|
|
|
|
|
|
|
|
|
|
func _on_new_game_pressed():
|
|
|
|
|
save_game_handle.pick_slot(true)
|
2024-10-01 23:32:59 +00:00
|
|
|
|
2024-10-06 09:40:42 +00:00
|
|
|
func _on_save_picked(save: SaveGame):
|
|
|
|
|
start_game.emit(save)
|