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