diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-21 10:00:43 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-21 10:00:43 +0100 |
commit | e7facf23888c38e09128749822c8e7d2b1d7e2fe (patch) | |
tree | b89d956bffd98b3e7bece0399a5090300dc1e19d /src/crepe/api/Scene.h | |
parent | e2f085c444a8b37af65816e10bf366e6860d25c2 (diff) | |
parent | 1bc04b371f2cc8740f2ee039f75101922da671d6 (diff) |
Merge branch 'master' into loek/util
Diffstat (limited to 'src/crepe/api/Scene.h')
-rw-r--r-- | src/crepe/api/Scene.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/crepe/api/Scene.h b/src/crepe/api/Scene.h index 0e516b6..869bf6f 100644 --- a/src/crepe/api/Scene.h +++ b/src/crepe/api/Scene.h @@ -7,19 +7,36 @@ namespace crepe { class SceneManager; class ComponentManager; +/** + * \brief Represents a Scene + * + * This class represents a Scene. The Scene class is only used as an interface for the game + * programmer. + */ class Scene { protected: - Scene(ComponentManager & mgr, const std::string & name); + //TODO: Use Loek's custom reference class to set ComponentManger via SceneManager instead of via constructor + /** + * \param mgr Reference to the ComponentManager + */ + Scene(ComponentManager & mgr); + //! SceneManager instances Scene friend class SceneManager; public: virtual ~Scene() = default; public: + //! Load the scene virtual void load_scene() = 0; - const std::string name; + /** + * \brief Get the scene's name + * \return The scene's name + */ + virtual std::string get_name() const = 0; protected: + //! Reference to the ComponentManager ComponentManager & component_manager; }; |