@@ -45,32 +45,17 @@ void OvCore::SceneSystem::SceneManager::LoadAndPlayDelayed(const std::string& p_
4545void OvCore::SceneSystem::SceneManager::LoadEmptyScene ()
4646{
4747 UnloadCurrentScene ();
48-
49- m_currentScene = new Scene ();
50-
48+ m_currentScene.reset (new Scene ());
5149 SceneLoadEvent.Invoke ();
5250}
5351
54- void OvCore::SceneSystem::SceneManager::LoadEmptyLightedScene ()
52+ void OvCore::SceneSystem::SceneManager::LoadDefaultScene ()
5553{
5654 UnloadCurrentScene ();
57-
58- m_currentScene = new Scene ();
59-
55+ m_currentScene. reset ( new Scene ());
56+ m_currentScene-> AddDefaultCamera ();
57+ m_currentScene-> AddDefaultLights ();
6058 SceneLoadEvent.Invoke ();
61-
62- auto & directionalLight = m_currentScene->CreateActor (" Directional Light" );
63- directionalLight.AddComponent <ECS::Components::CDirectionalLight>().SetIntensity (0 .75f );
64- directionalLight.transform .SetLocalPosition ({ 0 .0f , 10 .0f , 0 .0f });
65- directionalLight.transform .SetLocalRotation (OvMaths::FQuaternion ({ 120 .0f , -40 .0f , 0 .0f }));
66-
67- auto & ambientLight = m_currentScene->CreateActor (" Ambient Light" );
68- ambientLight.AddComponent <ECS::Components::CAmbientSphereLight>().SetRadius (10000 .0f );
69-
70- auto & camera = m_currentScene->CreateActor (" Main Camera" );
71- camera.AddComponent <ECS::Components::CCamera>();
72- camera.transform .SetLocalPosition ({ 0 .0f , 3 .0f , 8 .0f });
73- camera.transform .SetLocalRotation (OvMaths::FQuaternion ({ 20 .0f , 180 .0f , 0 .0f }));
7459}
7560
7661bool OvCore::SceneSystem::SceneManager::LoadScene (const std::string& p_path, bool p_absolute)
@@ -114,8 +99,7 @@ void OvCore::SceneSystem::SceneManager::UnloadCurrentScene()
11499{
115100 if (m_currentScene)
116101 {
117- delete m_currentScene;
118- m_currentScene = nullptr ;
102+ m_currentScene.release ();
119103 SceneUnloadEvent.Invoke ();
120104 }
121105
@@ -124,12 +108,12 @@ void OvCore::SceneSystem::SceneManager::UnloadCurrentScene()
124108
125109bool OvCore::SceneSystem::SceneManager::HasCurrentScene () const
126110{
127- return m_currentScene;
111+ return m_currentScene != nullptr ;
128112}
129113
130114OvCore::SceneSystem::Scene* OvCore::SceneSystem::SceneManager::GetCurrentScene () const
131115{
132- return m_currentScene;
116+ return m_currentScene. get () ;
133117}
134118
135119std::string OvCore::SceneSystem::SceneManager::GetCurrentSceneSourcePath () const
0 commit comments