20 typedef unsigned int Entity;
63 Space *space_ =
nullptr;
67 std::vector<Entity> entities_;
72 std::vector<std::unique_ptr<ComponentGroup>> components;
96 template <
typename Derived>
111 std::vector<BaseComponent *> components_;
116 template <
typename Derived>
119 static Group group_id = group_id_counter_++;
Base component used to store components.
Definition: entity.h:80
Manages entities in a space.
Definition: entity.h:24
unsigned Group
Group used to register a specific component internally with the entity manager.
Definition: entity.h:85
Entity createEntity()
Creates an Entity and returns the handle to the entity, which can then be used by the user to do oper...
Definition: entity.cpp:25
unsigned int Entity
Definition: entity.h:18
EntityManager()=default
Default instance of an EntityManager.
Contains a list of all components that belong to a sepecific group, these are then stored in the main...
Definition: entity.h:107
static Group group_id_counter_
Definition: entity.h:88
void deleteEntity(Entity entity)
Delete an entity.
Definition: entity.cpp:32
The main component that is used to make a component from a defined struct.
Definition: entity.h:97
Space that keeps track of all the entities, componenets and runs the systems on the data to update th...
Definition: space.h:34