diff options
author | heavydemon21 <nielsstunnebrink1@gmail.com> | 2024-12-06 10:44:42 +0100 |
---|---|---|
committer | heavydemon21 <nielsstunnebrink1@gmail.com> | 2024-12-06 10:44:42 +0100 |
commit | d5f63024ebed7df2fff8e016bd1c7c26f8fdfa27 (patch) | |
tree | b26e35cb0482d04a33cc96d97ba21c21d0012229 /src/crepe/api/SceneManager.h | |
parent | 9cde6875186b335c75eafa6402f0957cd4252c76 (diff) | |
parent | 1f4e961d7f9d6887c807cac1a362f2d178b0860b (diff) |
Merge branch 'master' into decoupling
Diffstat (limited to 'src/crepe/api/SceneManager.h')
-rw-r--r-- | src/crepe/api/SceneManager.h | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/crepe/api/SceneManager.h b/src/crepe/api/SceneManager.h deleted file mode 100644 index f6f62cd..0000000 --- a/src/crepe/api/SceneManager.h +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -#include <memory> -#include <vector> - -#include "Scene.h" - -namespace crepe { - -class ComponentManager; - -/** - * \brief Manages scenes - * - * This class manages scenes. It can add new scenes and load them. It also manages the current scene - * and the next scene. - */ -class SceneManager { -public: - //! \param mgr Reference to the ComponentManager - SceneManager(ComponentManager & mgr); - -public: - /** - * \brief Add a new concrete scene to the scene manager - * - * \tparam T Type of concrete scene - */ - template <typename T, typename... Args> - void add_scene(Args &&... args); - /** - * \brief Set the next scene - * - * This scene will be loaded at the end of the frame - * - * \param name Name of the next scene - */ - void set_next_scene(const std::string & name); - //! Load a new scene (if there is one) - void load_next_scene(); - -private: - //! Vector of concrete scenes (added by add_scene()) - std::vector<std::unique_ptr<Scene>> scenes; - //! Next scene to load - std::string next_scene; - //! Reference to the ComponentManager - ComponentManager & component_manager; -}; - -} // namespace crepe - -#include "SceneManager.hpp" |