extends Node3D # Game.gd - Main Entrypoint for the game ## Skip the loading of the game and instantly load the save if it exists. @export var skip_menu: bool = true @export var starting_world: PackedScene # Called when the node enters the scene tree for the first time. func _ready() -> void: # Skip the menu for development if skip_menu == true: UI.show_ingame_controls(!skip_menu) UI.show_main_menu(!skip_menu) if SaveManager.save_exists(): continue_game() else: start_new_game() return # On start of the game, the main menu is shown UI.connect("on_new_game_started", start_new_game) UI.connect("on_game_continued", continue_game) UI.show_main_menu() # this event comes from the MainMenu Node in the UI func start_new_game() -> void: UI.show_ingame_controls() # Add the starting world SceneManager.set_world(starting_world.resource_path) # Add the starting player to the starting world var player: Node = preload("res://entities/player/player.tscn").instantiate() SceneManager.current_world.add_child(player) # Give the player a monster var monster: MonsterData = MonsterData.new() monster.set_values("debuggy", {}, 5) monster.heal(999) SaveManager.current_save.party.push_back(monster) # Update the UI once UI.update() # event comes from the MainMenu Node in the UI func continue_game() -> void: SaveManager.load_game() UI.show_ingame_controls() UI.update()