mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
-fixes disability to remove instanced nodes when reopening scene. Fixes #2610
This commit is contained in:
parent
6f9631fc51
commit
85a611d1cd
@ -101,7 +101,7 @@ Node *SceneState::instance(bool p_gen_edit_state) const {
|
||||
|
||||
if (i==0 && base_scene_idx>=0) {
|
||||
//scene inheritance on root node
|
||||
print_line("scene inherit");
|
||||
//print_line("scene inherit");
|
||||
Ref<PackedScene> sdata = props[ base_scene_idx ];
|
||||
ERR_FAIL_COND_V( !sdata.is_valid(), NULL);
|
||||
node = sdata->instance(p_gen_edit_state);
|
||||
@ -112,7 +112,7 @@ Node *SceneState::instance(bool p_gen_edit_state) const {
|
||||
|
||||
} else if (n.instance>=0) {
|
||||
//instance a scene into this node
|
||||
print_line("instance");
|
||||
//print_line("instance");
|
||||
if (n.instance&FLAG_INSTANCE_IS_PLACEHOLDER) {
|
||||
|
||||
String path = props[n.instance&FLAG_MASK];
|
||||
@ -148,7 +148,7 @@ Node *SceneState::instance(bool p_gen_edit_state) const {
|
||||
#endif
|
||||
}
|
||||
} else if (ObjectTypeDB::is_type_enabled(snames[n.type])) {
|
||||
print_line("created");
|
||||
//print_line("created");
|
||||
//node belongs to this scene and must be created
|
||||
Object * obj = ObjectTypeDB::instance(snames[ n.type ]);
|
||||
if (!obj || !obj->cast_to<Node>()) {
|
||||
|
@ -875,7 +875,7 @@ bool SceneTreeDock::_validate_no_foreign() {
|
||||
|
||||
}
|
||||
|
||||
if (edited_scene->get_scene_instance_state().is_valid() && edited_scene->get_scene_instance_state()->find_node_by_path(edited_scene->get_path_to(E->get()))>=0) {
|
||||
if (edited_scene->get_scene_inherited_state().is_valid() && edited_scene->get_scene_inherited_state()->find_node_by_path(edited_scene->get_path_to(E->get()))>=0) {
|
||||
|
||||
accept->get_ok()->set_text("Makes Sense!");
|
||||
accept->set_text("Can't operate on nodes the current scene inherits from!");
|
||||
|
Loading…
Reference in New Issue
Block a user