/** * @brief * Function that is called to create the application's root scene */ void SceneApplication::OnCreateRootScene() { // [TODO] Load 'm_sSceneFilename' if provided // Is there a scene context? if (m_pSceneContext) { // First, create the scene root container which holds the scene container with our 'concrete' scene within it SceneContainer *pRootContainer = m_pSceneContext->GetRoot() ? static_cast<SceneContainer*>(m_pSceneContext->GetRoot()->Create("PLScene::SceneContainer", "RootScene")) : nullptr; if (pRootContainer) { // Protect this important container! pRootContainer->SetProtected(true); // Create a scene container with our 'concrete scene' SceneNode *pSceneContainerNode = pRootContainer->Create("PLScene::SceneContainer", "Scene"); if (pSceneContainerNode && pSceneContainerNode->IsContainer()) { // Protect this important container! pSceneContainerNode->SetProtected(true); } } // Set the root scene SetRootScene(pRootContainer); } }