diff options
Diffstat (limited to 'scripts/Game.gd')
| -rw-r--r-- | scripts/Game.gd | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/scripts/Game.gd b/scripts/Game.gd new file mode 100644 index 0000000..e36fdfe --- /dev/null +++ b/scripts/Game.gd @@ -0,0 +1,42 @@ +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") |
