diff options
Diffstat (limited to 'src/crepe/system')
-rw-r--r-- | src/crepe/system/AnimatorSystem.cpp | 2 | ||||
-rw-r--r-- | src/crepe/system/PhysicsSystem.h | 1 | ||||
-rw-r--r-- | src/crepe/system/RenderSystem.cpp | 2 | ||||
-rw-r--r-- | src/crepe/system/ScriptSystem.cpp | 4 | ||||
-rw-r--r-- | src/crepe/system/ScriptSystem.h | 21 | ||||
-rw-r--r-- | src/crepe/system/System.h | 10 |
6 files changed, 35 insertions, 5 deletions
diff --git a/src/crepe/system/AnimatorSystem.cpp b/src/crepe/system/AnimatorSystem.cpp index bf45362..1c101fa 100644 --- a/src/crepe/system/AnimatorSystem.cpp +++ b/src/crepe/system/AnimatorSystem.cpp @@ -5,7 +5,7 @@ #include "api/Animator.h" #include "facade/SDLContext.h" -#include "util/log.h" +#include "util/Log.h" #include "AnimatorSystem.h" #include "ComponentManager.h" 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/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp index 10211a3..3ff5b4f 100644 --- a/src/crepe/system/RenderSystem.cpp +++ b/src/crepe/system/RenderSystem.cpp @@ -5,7 +5,7 @@ #include "../api/Sprite.h" #include "../api/Transform.h" #include "../facade/SDLContext.h" -#include "../util/log.h" +#include "../util/Log.h" #include "RenderSystem.h" diff --git a/src/crepe/system/ScriptSystem.cpp b/src/crepe/system/ScriptSystem.cpp index f2673e7..807ad7f 100644 --- a/src/crepe/system/ScriptSystem.cpp +++ b/src/crepe/system/ScriptSystem.cpp @@ -5,7 +5,7 @@ #include "../ComponentManager.h" #include "../api/BehaviorScript.h" #include "../api/Script.h" -#include "../util/log.h" +#include "../util/Log.h" #include "ScriptSystem.h" @@ -20,7 +20,7 @@ void ScriptSystem::update() { for (Script * script : scripts) script->update(); } -forward_list<Script *> ScriptSystem::get_scripts() { +forward_list<Script *> ScriptSystem::get_scripts() const { forward_list<Script *> scripts = {}; ComponentManager & mgr = ComponentManager::get_instance(); vector<reference_wrapper<BehaviorScript>> behavior_scripts diff --git a/src/crepe/system/ScriptSystem.h b/src/crepe/system/ScriptSystem.h index 4fa6141..9d57640 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: + /** + * \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> - 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<Script *> get_scripts() const; }; } // namespace crepe 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: |