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

Former-commit-id: 7f5c006d80ba2e7f0babf67c908216b9ca190c70 [formerly 66eab17e82f0cbe6ff89506096573ffd33ccf241] [formerly fadc95f707e00f1cfc9542c7b5aca2e1643aaeec [formerly 8f0f812c57785cad50bd0977c3c592e42b79c5a7]]
Former-commit-id: 07a07da0bc9436fa7035e8265c7a2f4aaec26ef2 [formerly e577306b868cdf3186f1c417c7396d237fb9a08b]
Former-commit-id: 5bd70063f389a01d704f484350b48fe0674f4b7e
This commit is contained in:
Lynix
2016-08-14 17:56:01 +02:00
parent 3933af597f
commit d29813de02
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;