frame-of-mind/src/logic-scenes/main menu/main_menu.gd

41 lines
1.2 KiB
GDScript3
Raw Normal View History

extends Panel
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
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
@onready var save_game_handle: SaveGameHandle = %SaveGameHandle
@export var save_game_exists: bool = false:
set(value):
save_game_exists = value
var await_new_game: bool = false
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
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)
func _on_save_picked(save: SaveGame):
start_game.emit(save)