aboutsummaryrefslogtreecommitdiff
path: root/scene/resources/packed_scene.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2016-01-14 11:06:20 -0300
committerJuan Linietsky2016-01-14 11:06:20 -0300
commit4248c84e2089b953e00a163962b5b7f19d95e688 (patch)
treea3b72cadad02a816dd1c78ecb425992a883c172b /scene/resources/packed_scene.cpp
parente2be837520c0a6e4fed19b714f0477cb9c32eb78 (diff)
downloadgodot-4248c84e2089b953e00a163962b5b7f19d95e688.tar.gz
godot-4248c84e2089b953e00a163962b5b7f19d95e688.tar.zst
godot-4248c84e2089b953e00a163962b5b7f19d95e688.zip
-Make sure scenes properly update when switching tabs, even if sub-instances changed. Fixes #3201
Diffstat (limited to 'scene/resources/packed_scene.cpp')
-rw-r--r--scene/resources/packed_scene.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp
index d2795bddb..03127620f 100644
--- a/scene/resources/packed_scene.cpp
+++ b/scene/resources/packed_scene.cpp
@@ -1597,6 +1597,16 @@ Node *PackedScene::instance(bool p_gen_edit_state) const {
return s;
}
+void PackedScene::replace_state(Ref<SceneState> p_by) {
+
+ state=p_by;
+ state->set_path(get_path());
+#ifdef TOOLS_ENABLED
+ state->set_last_modified_time(get_last_modified_time());
+#endif
+
+}
+
void PackedScene::recreate_state() {
state = Ref<SceneState>( memnew( SceneState ));