Files
Dawn-Godot/scripts/Singleton/SceneManager.gd
2025-05-06 16:21:22 -05:00

35 lines
876 B
GDScript

class_name SceneManager extends Node
const MainMenu = preload("res://scenes/MainMenu.tscn");
const OverworldScene = preload("res://scenes/Overworld.tscn");
const SCENES:Dictionary[String, PackedScene] = {
"Initial": MainMenu,
"MainMenu": MainMenu,
"Overworld": OverworldScene
};
var scene = "Initial";
var currentScene:Node = null;
func _ready() -> void:
currentScene = get_tree().root.get_child(-1);
func setScene(newScene:String) -> void:
print("Setting scene to " + str(newScene));
scene = newScene;
if not SCENES.has(newScene):
push_error("Scene not found: " + newScene);
return;
var root = get_tree().root;
print("Current scene: " + str(currentScene));
if currentScene:
currentScene.queue_free();
var newSceneInstance = SCENES[newScene].instantiate();
if newSceneInstance:
root.add_child(newSceneInstance);
currentScene = newSceneInstance;