33 lines
769 B
GDScript
33 lines
769 B
GDScript
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
|