Roguelike
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
generic.h
Go to the documentation of this file.
1 #ifndef ROGUELIKE_ACTION_SKILL_GENERIC_H_
2 #define ROGUELIKE_ACTION_SKILL_GENERIC_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*, const GameTargets&)>
24 
25 typedef std::tr1::function<SpendInfo (base::GameObject*, const GameTargets&)>
27 
28 typedef GameAction
30 
31 class Generic : public Skill {
32  typedef Skill super;
33  public:
34  Generic(const GenericValidator& validator, const GenericSpender& spender, const GenericAction& action);
35  virtual ~Generic() {}
36 
38 
39  private:
40  GenericValidator validator_;
41  GenericSpender spender_;
42  GenericAction action_;
43 };
44 
45 } // namespace skill
46 } // namespace action
47 } // namespace game
48 
49 #endif // ROGUELIKE_ACTION_SKILL_GENERIC_H_
std::tr1::function< void(base::GameObject *, const GameTargets &, const Efficiency &)> GameAction
Definition: skill.h:46
Definition: gameobject.h:53
Generic(const GenericValidator &validator, const GenericSpender &spender, const GenericAction &action)
Definition: generic.cc:20
Definition: generic.h:31
Definition: aim.cc:15
std::tr1::function< SpendInfo(base::GameObject *, const GameTargets &)> GenericSpender
Definition: generic.h:26
std::tr1::function< bool(const base::GameObject *, const GameTargets &)> GenericValidator
Definition: generic.h:23
Definition: timeelapsed.h:20
GameAction GenericAction
Definition: generic.h:29
virtual ~Generic()
Definition: generic.h:35
std::list< base::GameThing > GameTargets
Definition: skill.h:24
Definition: skill.h:48
time::TimeElapsed operator()(base::GameObject *caster, const GameTargets &targets)
Definition: generic.cc:24