aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/SceneManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/SceneManager.h')
-rw-r--r--src/crepe/api/SceneManager.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/crepe/api/SceneManager.h b/src/crepe/api/SceneManager.h
index eaf1ba1..1e0e670 100644
--- a/src/crepe/api/SceneManager.h
+++ b/src/crepe/api/SceneManager.h
@@ -18,13 +18,27 @@ public:
SceneManager & operator=(SceneManager &&) = delete;
public:
+ /**
+ * \brief Add a new concrete scene to the scene manager
+ *
+ * \tparam T Type of concrete scene
+ * \param name Name of new scene
+ */
template <typename T>
void add_scene(const std::string & name);
+ /**
+ * \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:
- SceneManager();
+ SceneManager() = default;
private:
std::vector<std::unique_ptr<Scene>> scenes;