I had a problem that I have figured out a workaround for, however I'm curious as to what the mechanics behind it actually were, so I can better understand how to avoid it in the future. The problem was gettree().reloadcurrent_scene() causing other errors in my scene change set-up.
I've pulled the code for scene changes right out of the manual here: http://docs.godotengine.org/en/3.0/getting_started/step_by_step/singletons_autoload.html
var current_scene = null
var root = get_tree().get_root()
current_scene = root.get_child(root.get_child_count() -1)
# Free Current Scene
# Load new scene.
var s = ResourceLoader.load(path)
# Instance the new scene.
current_scene = s.instance()
# Add it to the active scene, as child of root.
# Optional, to make it compatible with the SceneTree.change_scene() API.
The problem I'm having is that when I use gettree().reloadcurrentscene() is that it seems to wipe what my currentscene variable is. I was under the impression that reloading my current scene wouldn't include any singletons, but I don't have any other explanation for what's happening. If someone could give me a heads up as to what I'm missing in the process, I'd appreciate it.
BTW the workaround I'm using is just