TurtleBrains  0.3.1
High quality, portable, C++ framework for rapid 2D game development.
tbx_translate_behaviors.h
1 
9 #ifndef _TurtleBrains_TranslateBehaviors_h_
10 #define _TurtleBrains_TranslateBehaviors_h_
11 
12 #include "tbx_tweening_behavior.h"
13 #include "../../game/tb_entity_behavior_interface.h"
14 #include "../../game/tb_game_timer.h"
15 
16 namespace TurtleBrainsExpress
17 {
18  namespace Behaviors
19  {
26  {
27  public:
37  TranslateBehavior(tbGame::Entity& entity, const tbMath::Vector2& velocity);
38 
42  virtual ~TranslateBehavior(void);
43 
47  virtual void OnSimulate(void) override;
48 
49  private:
50  const tbMath::Vector2 mVelocity;
51  };
52 
56  class TranslateTweenBehavior : public TweeningBehavior<tbMath::Vector2>
57  {
58  public:
61  TranslateTweenBehavior(tbGame::Entity& entity, const tbMath::Vector2& desiredPosition, const tbGame::GameTimer& time, const TweenMode& tweenMode);
62 
63 
66  virtual ~TranslateTweenBehavior(void);
67 
68 
72  virtual void OnResume(void) override;
73 
76  virtual void OnSimulate(void) override;
77 
78  private:
79  };
80 
81 
87  {
88  public:
97  TranslateToBehavior(tbGame::Entity& entity, const tbMath::Vector2& desiredPosition, float moveSpeed);
98 
102  virtual ~TranslateToBehavior(void);
103 
108  virtual void OnSimulate(void) override;
109 
110  private:
111  const tbMath::Vector2 mDesiredPosition;
112  const float mMoveSpeed;
113  };
114 
115 
121  {
122  public:
132  TranslateForBehavior(tbGame::Entity& entity, const tbMath::Vector2& velocity, const tbGame::GameTimer& forTime);
133 
137  virtual ~TranslateForBehavior(void);
138 
143  virtual void OnSimulate(void) override;
144 
145  private:
146  const tbMath::Vector2 mVelocity;
147  tbGame::GameTimer mTimeRemaining;
148  };
149 
150  }; /* namespace Behaviors */
151 }; /* namespace TurtleBrainsExpress */
152 
154 
155 #endif /* _TurtleBrains_TranslateBehaviors_h_ */
Definition: tb_vector.h:47
Definition: tbx_translate_behaviors.h:120
Definition: tb_entity.h:46
TranslateBehavior(tbGame::Entity &entity, const tbMath::Vector2 &velocity)
Definition: tb_entity_behavior_interface.h:25
TranslateToBehavior(tbGame::Entity &entity, const tbMath::Vector2 &desiredPosition, float moveSpeed)
A collection of objects and functions to express games quickly.
Definition: tbx_tweening_behavior.h:21
Definition: tbx_translate_behaviors.h:86
Definition: tbx_translate_behaviors.h:56
TranslateForBehavior(tbGame::Entity &entity, const tbMath::Vector2 &velocity, const tbGame::GameTimer &forTime)
Contains high-level objects to control the entities in game worlds.
Definition: tb_game_timer.h:25
Definition: tbx_translate_behaviors.h:25