29 template <
typename System>
32 return _systemManager->addSystem<System>();
34 template <
class System>
37 return _systemManager->getSystem<System>();
42 std::shared_ptr<ECS::EntityManager> _entityManager;
43 std::shared_ptr<ECS::ComponentManager> _componentManager;
44 std::unique_ptr<ECS::SystemManager> _systemManager;
Definition: Entity.hpp:30
Definition: Manager.hpp:13
std::deque< ECS::Entity > getEntityByType(ECS::EntityType type)
Definition: Manager.cpp:59
Manager()
Definition: Manager.cpp:15
std::deque< ECS::Entity > & getEntities()
Definition: Manager.cpp:49
System & addSystem()
Definition: Manager.hpp:30
void addComponent(ECS::Entity e, ECS::ComponentType c, std::shared_ptr< ECS::IComp > comp)
Definition: Manager.cpp:80
std::deque< ECS::Entity > & getEntityList(ECS::ComponentType type)
Definition: Manager.cpp:104
ECS::Entity createEntity(ECS::EntityType type)
Definition: Manager.cpp:29
System & getSystem()
Definition: Manager.hpp:35
void destroyEntity(ECS::Entity entity)
Definition: Manager.cpp:39
ECS::Entity getEntityById(std::size_t id)
Definition: Manager.cpp:69
std::map< ECS::ComponentType, std::shared_ptr< ECS::IComp > > & getComponentList(ECS::Entity entity)
Definition: Manager.cpp:96
std::shared_ptr< ECS::IComp > getComponent(ECS::Entity e, ECS::ComponentType c)
Definition: Manager.cpp:88
ComponentType
Definition: ComponentManager.hpp:15
EntityType
Definition: Entity.hpp:17