diff options
| author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-22 15:10:49 +0100 | 
|---|---|---|
| committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-22 15:10:49 +0100 | 
| commit | d038f192c7dcb453c9fc19082cd1b642c8f70fc8 (patch) | |
| tree | bcb539657cd8b35ed742f19e5673c777ab39610c /src/crepe/api/Scene.h | |
| parent | c3c3476f1d82aa83d8f8dc706488475dc2cf1e55 (diff) | |
| parent | 4117d1d287f1d87efd0577d56819520e981a7f1c (diff) | |
merge with `master`
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;  };  |