@@ -60,15 +60,22 @@ SceneEntityInstance *SceneEntityInstance::BlankSceneEntityInstance() {
60
60
return new SceneEntityInstance ();
61
61
}
62
62
63
- SceneEntityInstance::SceneEntityInstance (Core *core, const String& fileName) : core(core) {
64
- createNewLayer (" default" );
65
- resourceEntry = std::make_shared<SceneEntityInstanceResourceEntry>(this );
66
- topLevelResourcePool = core->getResourceManager ()->getGlobalPool ();
67
- loadFromFile (fileName);
68
- resourceEntry->setResourceName (fileName);
69
- resourceEntry->setResourcePath (fileName);
70
- cloneUsingReload = false ;
71
- ownsChildren = true ;
63
+ SceneEntityInstance::SceneEntityInstance (Core *core, const String& fileName) : SceneEntityInstance(core, nullptr , fileName) {
64
+
65
+ }
66
+
67
+ SceneEntityInstance::SceneEntityInstance (Core *core, Scene *newParentScene, const String& fileName) : core(core) {
68
+
69
+ parentScene = newParentScene;
70
+
71
+ createNewLayer (" default" );
72
+ resourceEntry = std::make_shared<SceneEntityInstanceResourceEntry>(this );
73
+ topLevelResourcePool = core->getResourceManager ()->getGlobalPool ();
74
+ loadFromFile (fileName);
75
+ resourceEntry->setResourceName (fileName);
76
+ resourceEntry->setResourcePath (fileName);
77
+ cloneUsingReload = false ;
78
+ ownsChildren = true ;
72
79
}
73
80
74
81
SceneEntityInstance::SceneEntityInstance () : Entity() {
@@ -427,7 +434,10 @@ Entity *SceneEntityInstance::loadObjectEntryIntoEntity(ObjectEntry *entry, Entit
427
434
}
428
435
}
429
436
430
- // parentScene->addLight(newLight);
437
+ if (parentScene) {
438
+ parentScene->addLight (newLight);
439
+ }
440
+
431
441
entity = newLight;
432
442
}
433
443
} else if (entityType->stringVal == " ScenePrimitive" ) {
0 commit comments