From 9dfb7f8037be735d5e5f88fb47ae07d98dc39274 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sat, 1 Aug 2020 16:39:38 +0300 Subject: Move levels under a Game node --- scripts/Game.gd | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 scripts/Game.gd (limited to 'scripts/Game.gd') 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") -- cgit v1.3