extends Node class_name Game onready var gui: GUI = $CanvasLayer/GUI # Declare member variables here. Examples: # var a = 2 # var b = "text" # Called when the node enters the scene tree for the first time. func _ready(): update_debug_gui() # Called every frame. 'delta' is the elapsed time since the previous frame. #func _process(delta): # pass func update_debug_gui(): var current_level = $Level.get_filename() gui.set_debug_text("Level: %s" % current_level) func _on_Level_ready(): yield(get_tree(), "idle_frame") update_debug_gui() func change_level(num: int): var new_scene = "res://scenes/Level" + String(num) + ".tscn" var cur_level = $Level self.remove_child(cur_level) cur_level.call_deferred("free") var new_level_res = load(new_scene) var new_level: Node = new_level_res.instance() print("Changed level to " + new_scene) var err = new_level.connect("ready", self, "_on_Level_ready") if err: push_error(err) self.add_child(new_level) new_level.set_name("Level")