9 #ifndef TurtleBrains_Entity_hpp
10 #define TurtleBrains_Entity_hpp
12 #include <turtle_brains/core/tb_string.hpp>
13 #include <turtle_brains/graphics/tb_graphic_list.hpp>
14 #include <turtle_brains/math/unstable/tbu_bounding_volume.hpp>
333 void ReallyPopBehavior(
void);
334 void DeleteDelayedBehaviors(
void);
336 typedef std::stack<EntityBehaviorInterface*> BehaviorStack;
337 typedef std::list<EntityBehaviorInterface*> BehaviorList;
338 typedef std::pair<tbMath::Unstable::BoundingVolume, tbMath::Vector2> BoundingVolumeInformation;
339 typedef std::vector<BoundingVolumeInformation> BoundingVolumeContainer;
341 BehaviorStack mBehaviorStack;
342 BehaviorList mBehaviorsToDelete;
343 BoundingVolumeContainer mBoundingVolumes;
Definition: tb_entity_behavior_interface.hpp:25
Definition: tb_entity.hpp:47
static const EntityType kInvalidType
Definition: tb_entity.hpp:53
void SetCollidable(const bool isCollidable)
virtual void OnRender(void) const
const EntityBehaviorInterface * GetActiveBehavior(void) const
bool CheckCollisionWith(const tbMath::Vector2 &point) const
bool CheckCollisionWith(const tbMath::Vector2 ¢er, const float radius) const
void PushBehavior(EntityBehaviorInterface *entityBehavior)
virtual void OnCollide(const Entity &other)
bool CheckCollisionWith(const Entity &otherEntity) const
EntityBehaviorInterface * GetActiveBehavior(void)
EntityManager * GetEntityManager(void) const
virtual void OnUpdate(const float deltaTime)
void RemoveEntityType(const EntityType &entityType)
bool CheckCollisionWith(const tbMath::Vector2 ¢er, const float width, const float height) const
Entity(const EntityType &entityType)
void ClearBehaviors(void)
void ClearBoundingVolumes(void)
void PopBehaviorIf(EntityBehaviorInterface *entityBehavior)
const EntityType & GetEntityType(void) const
virtual void OnRemove(void)
void AddBoundingCircle(const float circleRadius, const tbMath::Vector2 ¢erOffset=tbMath::Vector2::Zero())
bool HasBoundingVolume(void) const
const EntityTypeContainer & GetEntityTypes(void) const
bool IsCollidable(void) const
bool IsEntityOfType(const EntityType &entityType) const
void PopAllBehaviors(void)
void AddBoundingBox(const float boxWidth, const float boxHeight, const tbMath::Vector2 ¢erOffset=tbMath::Vector2::Zero())
virtual void OnDebugRender(void) const
virtual void OnSimulate(void)
void AddEntityType(const EntityType &entityType)
Definition: tb_entity_manager.hpp:33
Definition: tb_tile_system.hpp:85
Definition: tb_graphic_list.hpp:27
Definition: tb_vector.hpp:99
static TypedVector2 Zero(void)
Definition: tb_vector.hpp:104
This is the heart of TurtleBrains for game developers to create GameScenes and Entities to interact w...
std::list< EntityType > EntityTypeContainer
Definition: tb_entity.hpp:35
String EntityType
Definition: tb_entity.hpp:30
Here is some information about the primary namespace.
Definition: tb_application_dialog.hpp:22