9 #ifndef _TurtleBrains_Entity_h_
10 #define _TurtleBrains_Entity_h_
12 #include "../core/tb_string.h"
13 #include "../graphics/tb_graphic_list.h"
14 #include "../math/unstable/tbu_bounding_volume.h"
52 explicit Entity(
const EntityType& entityType);
235 virtual void OnUpdate(
const float deltaTime);
258 void ReallyPopBehavior(
void);
260 typedef std::stack<EntityBehaviorInterface*> BehaviorContainer;
261 typedef std::pair<tbMath::Unstable::BoundingVolume, tbMath::Vector2> BoundingVolumeInformation;
262 typedef std::vector<BoundingVolumeInformation> BoundingVolumeContainer;
264 BehaviorContainer mBehaviorStack;
265 BoundingVolumeContainer mBoundingVolumes;
266 EntityType mEntityType;
Definition: tb_vector.h:48
void PushBehavior(EntityBehaviorInterface *entityBehavior)
Definition: tb_entity.h:39
Definition: tb_graphic_list.h:25
void PopBehaviorIf(EntityBehaviorInterface *entityBehavior)
virtual void OnSimulate(void)
Definition: tb_entity_behavior_interface.h:23
EntityManager * GetEntityManager(void) const
static const Vector2 kZero
Definition: tb_vector.h:54
Entity EntityInterface
Definition: tb_entity.h:278
virtual void OnCollideWith(Entity &other)
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
virtual void OnRemoved(void)
Definition: tb_entity_manager.h:114
void RemoveBoundingVolumes(void)
void SetCollidable(const bool isCollidable)
tbCore::tbString EntityType
Definition: tb_entity.h:28
bool HasBoundingVolume(void) const
virtual void OnRender(void) const
static const EntityType kInvalidType
Definition: tb_entity.h:46
virtual void OnAdded(void)
void AddBoundingCircle(const float circleRadius, const tbMath::Vector2 ¢erOffset=tbMath::Vector2::kZero)
const EntityBehaviorInterface * GetActiveBehavior(void) const
bool CheckCollisionWith(const tbMath::Vector2 &point) const
bool IsCollidable(void) const
virtual void OnUpdate(const float deltaTime)
Entity(const EntityType &entityType)
const EntityType & GetEntityType(void) const
Definition: tb_entity.h:222
void PopAllBehaviors(void)
void AddBoundingBox(const float boxWidth, const float boxHeight, const tbMath::Vector2 ¢erOffset=tbMath::Vector2::kZero)
std::string tbString
Definition: tb_string.h:293
This is the heart of TurtleBrains for game developers to create GameScenes and Entities to interact w...