class_name GameState extends Node func _ready() -> void: Globals.game_state = self func load_game_scene(scene_str: String) -> void: var scene = load(scene_str).instantiate() var target = get_tree().root.get_node("shell/scene") target.add_child(scene) func set_game_scene(scene_str: String) -> void: var scene = load(scene_str).instantiate() var target = get_tree().root.get_node("shell/scene") if "game" in scene_str: scene.name = "game" elif "lobby" in scene_str: scene.name = "lobby_screen" elif "start" in scene_str: scene.name = "start_screen" clear_game_scene(target) target.add_child(scene) func clear_game_scene(container: Node) -> void: for child in container.get_children(): child.queue_free() await get_tree().process_frame