9 #ifndef _TurtleBrains_EntityManager_h_
10 #define _TurtleBrains_EntityManager_h_
12 #include "tb_entity.h"
13 #include "../core/tb_noncopyable.h"
219 virtual void OnUpdate(
const float deltaTime)
override;
222 void ReallyAddEntity(
Entity* entity,
bool managed);
223 void SafeToRemoveEntities(
void);
225 typedef std::set<Entity*> EntitySet;
226 typedef std::map<EntityType, EntityList> EntityByTypeMap;
228 EntityList mEntities;
229 EntityList mManagedEntities;
230 EntitySet mEntitiesToRemove;
231 EntityByTypeMap mEntitiesByType;
Definition: tb_vector.h:47
Definition: tb_entity.h:46
void AddEntity(Entity *entity)
Definition: tb_graphic_list.h:27
Entity * CreateEntityByType(const EntityType &entityType)
EntityList GetAllEntities(void)
std::list< EntityType > EntityTypeContainer
Definition: tb_entity.h:35
std::list< Entity * > EntityList
Definition: tb_entity_manager.h:129
Definition: tb_noncopyable.h:22
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
virtual void OnUpdate(const float deltaTime) override
Definition: tb_entity_manager.h:123
void RemoveEntities(const EntityType &byType=Entity::kInvalidType)
tbCore::tbString EntityType
Definition: tb_entity.h:30
EntityFactoryInterface(void)
static const EntityType kInvalidType
Definition: tb_entity.h:53
Definition: tb_entity_manager.h:30
EntityList GetEntitiesWithin(const tbMath::Vector2 ¢er, const float radius, const EntityType &byType=Entity::kInvalidType, bool onlyCollidableEntities=false)
EntityList GetEntitiesByType(const EntityType &byType)
bool DestroyEntity(Entity *entityToDestroy)
virtual ~EntityFactoryInterface(void)
void EntityTypeChanged(Entity &entity, const EntityTypeContainer &oldTypes)
EntityList GetEntitiesAt(const tbMath::Vector2 &point, const EntityType &byType=Entity::kInvalidType, bool onlyCollidableEntities=false)
void RemoveEntity(Entity *entity)
virtual ~EntityManager(void)=0
This is the heart of TurtleBrains for game developers to create GameScenes and Entities to interact w...