| 1363 | } |
| 1364 | |
| 1365 | SceneResult SceneLoader::OnInitialize(Args& args) |
| 1366 | { |
| 1367 | // Initialize scene objects |
| 1368 | PROFILE_CPU_NAMED("Initialize"); |
| 1369 | ASSERT_LOW_LAYER(IsInMainThread()); |
| 1370 | SceneObject** objects = SceneObjects->Get(); |
| 1371 | for (int32 i = 0; i < SceneObjects->Count(); i++) |
| 1372 | { |
| 1373 | SceneObject* obj = objects[i]; |
| 1374 | if (obj) |
| 1375 | { |
| 1376 | obj->Initialize(); |
| 1377 | |
| 1378 | // Delete objects without parent |
| 1379 | if (i != 0 && obj->GetParent() == nullptr) |
| 1380 | { |
| 1381 | LOG(Warning, "Scene object {0} {1} has missing parent object after load. Removing it.", obj->GetID(), obj->ToString()); |
| 1382 | obj->DeleteObject(); |
| 1383 | } |
| 1384 | } |
| 1385 | } |
| 1386 | PrefabSyncData->InitNewObjects(); |
| 1387 | |
| 1388 | NextStage(); |
| 1389 | return SceneResult::Success; |
| 1390 | } |
| 1391 | |
| 1392 | SceneResult SceneLoader::OnBeginPlay(Args& args) |
| 1393 | { |
nothing calls this directly
no test coverage detected