35 virtual const std::vector<std::shared_ptr<IEntity>> &
45 virtual std::unique_ptr<std::vector<std::shared_ptr<IEntity>>>
54 virtual std::unique_ptr<std::vector<std::shared_ptr<IComponent>>>
65 const std::string &
id)
const = 0;
Definition: ArcadeStruct.hpp:10
The IEntity interface.
Definition: IEntity.hpp:22
Manage the creation of entities and their access.
Definition: IEntityManager.hpp:19
virtual IEntity & createEntity(const std::string &id)=0
Add an entity to the manager.
virtual void removeEntity(const std::string &id)=0
Remove an entity from the manager.
virtual const std::vector< std::shared_ptr< IEntity > > & getEntities() const =0
Get all entities created by this manager.
virtual std::shared_ptr< IEntity > getEntitiesById(const std::string &id) const =0
Get the entity created by this manager that have the requested ID.
virtual void removeAllEntities()=0
Remove all entities from the manager.
virtual std::unique_ptr< std::vector< std::shared_ptr< IEntity > > > getEntitiesByComponentType(CompType comp) const =0
Get all entities created by this manager that have at least one component of type CompType.
virtual ~IEntityManager()=default
virtual std::unique_ptr< std::vector< std::shared_ptr< IComponent > > > getComponentsByComponentType(CompType comp) const =0
Get all components created by this manager of type CompType.