diff options
Diffstat (limited to 'src/crepe/system')
-rw-r--r-- | src/crepe/system/PhysicsSystem.h | 1 | ||||
-rw-r--r-- | src/crepe/system/ScriptSystem.h | 19 | ||||
-rw-r--r-- | src/crepe/system/System.h | 10 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/crepe/system/PhysicsSystem.h b/src/crepe/system/PhysicsSystem.h index cc13b70..cb6160e 100644 --- a/src/crepe/system/PhysicsSystem.h +++ b/src/crepe/system/PhysicsSystem.h @@ -1,6 +1,7 @@ #pragma once namespace crepe { + /** * \brief System that controls all physics * diff --git a/src/crepe/system/ScriptSystem.h b/src/crepe/system/ScriptSystem.h index f3d26d4..9d57640 100644 --- a/src/crepe/system/ScriptSystem.h +++ b/src/crepe/system/ScriptSystem.h @@ -8,12 +8,31 @@ 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: + /** + * \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(); private: // TODO: to forward_list<reference_wrapper> + /** + * \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<Script *> get_scripts() const; }; diff --git a/src/crepe/system/System.h b/src/crepe/system/System.h index 3b81bef..ec4507f 100644 --- a/src/crepe/system/System.h +++ b/src/crepe/system/System.h @@ -2,8 +2,18 @@ namespace crepe { +/** + * \brief Base ECS system class + * + * This class is used as the base for all system classes. Classes derived from + * System must implement the System::update() method and copy Script::Script + * with the `using`-syntax. + */ class System { public: + /** + * \brief Process all components this system is responsible for. + */ virtual void update() = 0; public: |