Fix missing object linkage when loading missing prefab objects during scene load

This commit is contained in:
Wojciech Figat
2021-12-13 17:31:45 +01:00
parent 06305a8af6
commit 8f51c7689f

View File

@@ -138,6 +138,7 @@ Actor* PrefabManager::SpawnPrefab(Prefab* prefab, Actor* parent, Dictionary<Guid
SceneObjectsFactory::Context context(modifier.Value);
// Deserialize prefab objects
auto prevIdMapping = Scripting::ObjectsLookupIdMapping.Get();
Scripting::ObjectsLookupIdMapping.Set(&modifier.Value->IdsMapping);
for (int32 i = 0; i < objectsCount; i++)
{
@@ -164,7 +165,7 @@ Actor* PrefabManager::SpawnPrefab(Prefab* prefab, Actor* parent, Dictionary<Guid
if (obj)
SceneObjectsFactory::Deserialize(context, obj, stream);
}
Scripting::ObjectsLookupIdMapping.Set(nullptr);
Scripting::ObjectsLookupIdMapping.Set(prevIdMapping);
// Assume that prefab has always only one root actor that is serialized first
if (sceneObjects.Value->IsEmpty())