|
@@ -175,14 +175,12 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const {
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- Object *obj = nullptr;
|
|
|
|
|
|
+ //node belongs to this scene and must be created
|
|
|
|
+ Object *obj = ClassDB::instantiate(snames[n.type]);
|
|
|
|
|
|
- if (ClassDB::is_class_enabled(snames[n.type])) {
|
|
|
|
- //node belongs to this scene and must be created
|
|
|
|
- obj = ClassDB::instantiate(snames[n.type]);
|
|
|
|
- }
|
|
|
|
|
|
+ node = Object::cast_to<Node>(obj);
|
|
|
|
|
|
- if (!Object::cast_to<Node>(obj)) {
|
|
|
|
|
|
+ if (!node) {
|
|
if (obj) {
|
|
if (obj) {
|
|
memdelete(obj);
|
|
memdelete(obj);
|
|
obj = nullptr;
|
|
obj = nullptr;
|
|
@@ -203,9 +201,9 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const {
|
|
if (!obj) {
|
|
if (!obj) {
|
|
obj = memnew(Node);
|
|
obj = memnew(Node);
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
|
|
- node = Object::cast_to<Node>(obj);
|
|
|
|
|
|
+ node = Object::cast_to<Node>(obj);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (node) {
|
|
if (node) {
|