diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-21 10:00:12 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-21 10:00:12 +0100 |
commit | aa00be5fae68e4ccb7b592f1193d86f09105723a (patch) | |
tree | 47fcc6aad7b18723b926608e5177f677e4493801 /src/crepe/api/Scene.h | |
parent | 502fb8e8d1dcfe10f55fdef2cdfb71afec806204 (diff) | |
parent | 1bc04b371f2cc8740f2ee039f75101922da671d6 (diff) |
Merge branch 'master' into loek/scripts
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; }; |