Untitled Game engine no.5  1.0
SystemBase.hpp
1 #ifndef SYSTEMBASE_H
2 #define SYSTEMBASE_H
3 
4 #include "Types.hpp"
5 #include "Renderer.hpp"
6 
7 namespace Engine {
8  class SystemBase {
9  public:
10  friend class ECS;
11 
13  virtual ~SystemBase() {}
14 
16  virtual Archetype GetArch() const { return m_arch; }
17 
19  virtual SystemID GetID() const { return m_id; }
20 
21  protected:
23  SystemID m_id;
25  Archetype m_arch;
28  virtual void Run(EntityID id) = 0;
29  };
30 
31 
32 }
33 #endif
Engine::ECS
Entity Component System.
Definition: ECS.hpp:19
Engine::SystemBase::GetArch
virtual Archetype GetArch() const
Definition: SystemBase.hpp:16
Engine::SystemBase::m_arch
Archetype m_arch
archetype storage
Definition: SystemBase.hpp:25
Engine::SystemBase::Run
virtual void Run(EntityID id)=0
Engine::SystemBase::m_id
SystemID m_id
Id to the lookup table.
Definition: SystemBase.hpp:23
Engine::SystemBase::GetID
virtual SystemID GetID() const
Definition: SystemBase.hpp:19
Engine::SystemBase
Definition: SystemBase.hpp:8
Engine
Definition: Animation.hpp:14
Engine::SystemBase::~SystemBase
virtual ~SystemBase()
Destructor.
Definition: SystemBase.hpp:13