8 #ifndef SCENEMANAGER_HPP_
9 #define SCENEMANAGER_HPP_
14 #include "KapEngineSettings.hpp"
19 namespace SceneManagement {
30 namespace SceneManagement {
37 void addScene(std::shared_ptr<Scene> scene);
38 void addScene(std::string
const& sceneName);
40 void removeScene(std::string
const& sceneName);
41 void removeScene(std::size_t
const&
id);
43 void loadScene(std::size_t
const& index);
44 void loadScene(std::string
const& sceneName);
46 #if KAPENGINE_BETA_ACTIVE && KAPENGINE_THREAD_ACTIVE
47 void __update(std::size_t
const& indexThread);
56 bool sceneExists(std::size_t
const& index);
57 bool sceneExists(std::string
const& sceneName);
59 Scene &getScene(std::string
const& name);
60 Scene &getScene(std::size_t
const& index);
61 Scene &getCurrentScene();
63 std::size_t getSceneIndex(std::string
const& sceneName);
64 std::size_t getSceneIndexInList(std::size_t
id);
65 std::size_t getSceneIndexInList(std::string
const& sceneName);
67 std::size_t getCurrentSceneId()
const {
68 PROFILER_FUNC_START();
73 std::shared_ptr<Scene> createScene(std::string
const& name);
75 std::vector<std::shared_ptr<Scene>> &getAllScenes() {
76 PROFILER_FUNC_START();
83 std::size_t _indexScene = 0;
84 std::size_t _maxIndex = 0;
85 std::vector<std::shared_ptr<Scene>> _scenes;
88 std::string getSceneName(std::size_t index);
90 #if KAPENGINE_BETA_ACTIVE
91 #if KAPENGINE_THREAD_ACTIVE