summaryrefslogtreecommitdiffstats
path: root/scripts/Game.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Game.gd')
-rw-r--r--scripts/Game.gd42
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")