SDK/System: Add possibility to disable systems without destroying them

Former-commit-id: d72fc2252c8c55e0ef93aa28592fdf734e187d64 [formerly 84c57abb22494dbc67a02db65dc39e282fab0ec3] [formerly 4b302cfc908f0ddfa45facdf707199a1a41a98d1 [formerly a971f3d0eb400aabe9695613ca63672b0dbaeec2]]
Former-commit-id: 3e03a4cd321c860dd3e264302839c5eb05bd2a85 [formerly 7db586c2246267f71fd54f4feb2c0b911e8c6387]
Former-commit-id: aa53d5f6f7ca2428d9a76b6e4e1b6785ce4b1c1f
This commit is contained in:
Lynix
2016-08-14 17:56:01 +02:00
parent c231d73f9e
commit 8bc5e618b1
2 changed files with 21 additions and 0 deletions

View File

@@ -27,6 +27,8 @@ namespace Ndk
BaseSystem(BaseSystem&&) noexcept = default;
virtual ~BaseSystem();
inline void Enable(bool enable = true);
virtual BaseSystem* Clone() const = 0;
bool Filters(const Entity* entity) const;
@@ -36,6 +38,8 @@ namespace Ndk
inline float GetUpdateRate() const;
inline World& GetWorld() const;
inline bool IsEnabled() const;
inline bool HasEntity(const Entity* entity) const;
inline void SetUpdateRate(float updatePerSecond);
@@ -86,6 +90,7 @@ namespace Ndk
Nz::Bitset<> m_requiredComponents;
SystemIndex m_systemIndex;
World* m_world;
bool m_updateEnabled;
float m_updateCounter;
float m_updateRate;