1234567891011121314151617181920212223 |
- 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_scene().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_scene().get_root()
- current_scene = root.get_child( root.get_child_count() -1 )
|