summaryrefslogtreecommitdiff
path: root/demos/misc/autoload/global.gd
blob: a0415c6ee032432ef0214b6851610ff3d7181844 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
extends Node


var current_scene = null


func goto_scene(scene):
	#load new scene
	var s = ResourceLoader.load(scene)
	#queue erasing old (don't use free because that scene is calling this method)
	current_scene.queue_free()
	#instance the new scene
	current_scene = s.instance()
	#add it to the active scene, as child of root
	get_tree().get_root().add_child(current_scene)


func _ready():
	# get the current scene
	# it is always the last child of root,
	# after the autoloaded nodes
	var root = get_tree().get_root()
	current_scene = root.get_child( root.get_child_count() -1 )