| 1329 | } |
| 1330 | |
| 1331 | SceneResult SceneLoader::OnSyncPrefabs(Args& args) |
| 1332 | { |
| 1333 | // Add injected children of scene (via OnSceneLoading) into sceneObjects to be initialized |
| 1334 | for (auto child : InjectedSceneChildren) |
| 1335 | { |
| 1336 | Array<SceneObject*> injectedSceneObjects; |
| 1337 | injectedSceneObjects.Add(child); |
| 1338 | SceneQuery::GetAllSceneObjects(child, injectedSceneObjects); |
| 1339 | for (auto o : injectedSceneObjects) |
| 1340 | { |
| 1341 | if (!o->IsRegistered()) |
| 1342 | o->RegisterObject(); |
| 1343 | SceneObjects->Add(o); |
| 1344 | } |
| 1345 | } |
| 1346 | |
| 1347 | // Synchronize prefab instances (prefab may have objects removed or reordered so deserialized instances need to synchronize with it) |
| 1348 | // TODO: resave and force sync scenes during game cooking so this step could be skipped in game |
| 1349 | SceneObjectsFactory::SynchronizePrefabInstances(Context, *PrefabSyncData); |
| 1350 | |
| 1351 | NextStage(); |
| 1352 | return SceneResult::Success; |
| 1353 | } |
| 1354 | |
| 1355 | SceneResult SceneLoader::OnSetupTransforms(Args& args) |
| 1356 | { |
nothing calls this directly
no test coverage detected