diff options
author | heavydemon21 <nielsstunnebrink1@gmail.com> | 2024-11-18 14:08:36 +0100 |
---|---|---|
committer | heavydemon21 <nielsstunnebrink1@gmail.com> | 2024-11-18 14:08:36 +0100 |
commit | 20fc8401083e23e414feae2a9a4d217b228b8f15 (patch) | |
tree | 08c9e9c4ddcde5438eb54f6b051895c0896f935b /src/crepe/system/System.h | |
parent | 60669b60e63532bc264ecd6d106bd15f0688a5b6 (diff) | |
parent | 121b64b1cb6cfead5814070c8b0185d3d7308095 (diff) |
Merge remote-tracking branch 'origin/master' into niels/rendering_color
Diffstat (limited to 'src/crepe/system/System.h')
-rw-r--r-- | src/crepe/system/System.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/crepe/system/System.h b/src/crepe/system/System.h index 3b81bef..28ea20e 100644 --- a/src/crepe/system/System.h +++ b/src/crepe/system/System.h @@ -2,13 +2,28 @@ namespace crepe { +class ComponentManager; + +/** + * \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: - System() = default; + System(ComponentManager &); virtual ~System() = default; + +protected: + ComponentManager & component_manager; }; } // namespace crepe |