class_name SceneSingleton extends Node enum SceneType { UNSET, INITIAL, OVERWORLD } var currentScene:SceneType = SceneType.UNSET signal sceneChanged(newScene:SceneType) func _enter_tree() -> void: currentScene = SceneType.UNSET func setScene(newScene:SceneType) -> void: if currentScene == newScene: return currentScene = newScene sceneChanged.emit(currentScene)