SolarSim
Loading...
Searching...
No Matches
scene_manager.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
5namespace solarsim {
6 struct Scene;
7
14 public:
15 SceneManager(const SceneManager&) = delete;
17
22 [[nodiscard]] static SceneManager& get();
23
30 [[nodiscard]] Scene* active();
31
36 void loadScene(std::unique_ptr<Scene> newScene);
37
41 void unloadScene();
42 private:
44 std::unique_ptr<Scene> m_activeScene;
45
48 };
49}
void unloadScene()
Unload the current active scene.
Definition scene_manager.cpp:19
SceneManager(const SceneManager &)=delete
void loadScene(std::unique_ptr< Scene > newScene)
Load a new scene, replacing the current one.
Definition scene_manager.cpp:15
~SceneManager()
Definition scene_manager.hpp:47
static SceneManager & get()
Get the singleton SceneManager instance.
Definition scene_manager.cpp:6
SceneManager & operator=(const SceneManager &)=delete
std::unique_ptr< Scene > m_activeScene
Definition scene_manager.hpp:44
Scene * active()
Get the currently active scene.
Definition scene_manager.cpp:11
SceneManager()
Definition scene_manager.hpp:46
Definition engine.cpp:23
Container for entities, components, and simulation state.
Definition scene.hpp:15