You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-03 16:55:53 +00:00
We need to update the scene root in multiple singletons to ensure that certain flags are correct. This is what `EditorNode::set_edited_scene()` does. Usually we use `replace_by` to complete the replacement of the scene root. Call `EditorNode::set_edited_scene()` when the `replacing_by` signal is emitted to set the new scene root. This is suitable when using a single node to replace, which may be problematic if the replacing node is a tree. Because during the call to `replace_by()`, the new node and its child nodes will enter tree during `parent-> add_child(p_node)`, and later emits the `replacing_by` signal. When the parent scene has to be reloaded because the child scene changes and switches to the parent scene, there is no need to use `replace_by()` since the scene's diffs are already saved.
38 KiB
38 KiB