Roguelike
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
movement.h
Go to the documentation of this file.
1 #ifndef ROGUELIKE_ACTION_SKILL_MOVEMENT_H_
2 #define ROGUELIKE_ACTION_SKILL_MOVEMENT_H_
3 
4 // Inheritance
6 
7 // External Dependencies
8 #include <ugdk/portable/tr1.h>
9 #include FROM_TR1(functional)
10 #include <ugdk/math/integer2D.h>
11 
12 // Internal Dependencies
13 // (none)
14 
15 // Forward Declarations
16 #include <ugdk/math.h>
17 #include "game/base.h"
18 
19 namespace game {
20 namespace action {
21 namespace skill {
22 
23 typedef std::tr1::function<ugdk::math::Integer2D (const base::GameObject*, const ugdk::math::Integer2D&)>
25 
26 typedef std::tr1::function<SpendInfo (base::GameObject*, const ugdk::math::Integer2D&)>
28 
29 typedef std::tr1::function<void (base::GameObject*, const ugdk::math::Integer2D&, const Efficiency&)>
31 
32 class Movement : public Skill {
33  typedef Skill super;
34  public:
35  Movement( bool is_relative, const MovementCalculator& calculator,
36  const MovementSpender& spender, const MovementAction& action );
37  virtual ~Movement() {}
38 
40 
41  private:
42  bool is_relative_;
43  MovementCalculator calculator_;
44  MovementSpender spender_;
45  MovementAction action_;
46 };
47 
48 } // namespace skill
49 } // namespace action
50 } // namespace game
51 
52 #endif // ROGUELIKE_ACTION_SKILL_MOVEMENT_H_
Definition: gameobject.h:53
std::tr1::function< void(base::GameObject *, const ugdk::math::Integer2D &, const Efficiency &)> MovementAction
Definition: movement.h:30
Movement(bool is_relative, const MovementCalculator &calculator, const MovementSpender &spender, const MovementAction &action)
Definition: movement.cc:25
Definition: aim.cc:15
virtual ~Movement()
Definition: movement.h:37
std::tr1::function< ugdk::math::Integer2D(const base::GameObject *, const ugdk::math::Integer2D &)> MovementCalculator
Definition: movement.h:24
Definition: movement.h:32
Definition: timeelapsed.h:20
std::tr1::function< SpendInfo(base::GameObject *, const ugdk::math::Integer2D &)> MovementSpender
Definition: movement.h:27
time::TimeElapsed operator()(base::GameObject *caster, const GameTargets &targets)
Definition: movement.cc:30
std::list< base::GameThing > GameTargets
Definition: skill.h:24
Definition: skill.h:48