diff options
| author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-11-18 15:34:22 +0100 | 
|---|---|---|
| committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-11-18 15:34:22 +0100 | 
| commit | b92da3c729c8fc7c002cb3acbb75c56cb63bd89e (patch) | |
| tree | 454b64d31b7e0c9151da88a0d49ee782565f49e9 /src/crepe/system/ScriptSystem.h | |
| parent | 8b449e764b5c91cd3cb0c4fa404a290ab295a7ef (diff) | |
| parent | 121b64b1cb6cfead5814070c8b0185d3d7308095 (diff) | |
Merge branch 'master' of https://github.com/lonkaars/crepe into wouter/events
Diffstat (limited to 'src/crepe/system/ScriptSystem.h')
| -rw-r--r-- | src/crepe/system/ScriptSystem.h | 25 | 
1 files changed, 22 insertions, 3 deletions
| diff --git a/src/crepe/system/ScriptSystem.h b/src/crepe/system/ScriptSystem.h index 4fa6141..deb89cb 100644 --- a/src/crepe/system/ScriptSystem.h +++ b/src/crepe/system/ScriptSystem.h @@ -8,13 +8,32 @@ namespace crepe {  class Script; +/** + * \brief Script system + *  + * The script system is responsible for all \c BehaviorScript components, and + * calls the methods on classes derived from \c Script. + */  class ScriptSystem : public System {  public: -	void update(); +	using System::System; +	/** +	 * \brief Call Script::update() on all active \c BehaviorScript instances +	 * +	 * This routine updates all scripts sequentially using the Script::update() +	 * method. It also calls Script::init() if this has not been done before on +	 * the \c BehaviorScript instance. +	 */ +	void update() override;  private: -	// TODO: to forward_list<reference_wrapper> -	std::forward_list<Script *> get_scripts(); +	/** +	 * \brief Aggregate all active \c BehaviorScript components and return a list +	 * of references to their \c Script instances (utility) +	 * +	 * \returns List of active \c Script instances +	 */ +	std::forward_list<std::reference_wrapper<Script>> get_scripts() const;  };  } // namespace crepe |