april  1.0.0
...
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
actorcomp.h
Go to the documentation of this file.
1 /* ========================================================================= */
2 /* ------------------------------------------------------------------------- *//*
12 
13 
14  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15  Please read COPYING and README files in root folder
16  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 */
18 /* ------------------------------------------------------------------------- */
19 /* ========================================================================= */
20 #ifndef __ACTORCOMP_INC__
21 #define __ACTORCOMP_INC__
22 //
23 //
24 //
25 //
26 /* INCLUDES ------------------------------------------------------------ */
27 
28 #include <april/april.h>
29 #include <april/logic/component.h>
30 
31 /* INCLUDES ============================================================ */
32 //
33 //
34 //
35 //
36 /* DEFINITIONS --------------------------------------------------------- */
37 
38 namespace april {
39 class Actor;
40 class World;
41 
42 /* DEFINITIONS ========================================================= */
43 //
44 //
45 //
46 //
47 /* CLASS --------------------------------------------------------------- */
48 
52 class
54  ActorComp : public Component {
55  BBM_TRACK( ActorComp );
56 
57  //
58  //
59  //
60  //
61  /* DEFINITIONS ----------------------------------------------------- */
62 
63  friend class Actor;
64  friend class World;
65 
66  /* DEFINITIONS ===================================================== */
67  //
68  //
69  //
70  //
71  /* DATA ------------------------------------------------------------ */
72 
73 private:
74 
76  Actor * actor_;
77 
79  quint64 cost_;
80 
82  quint64 energy_;
83 
84  /* DATA ============================================================ */
85  //
86  //
87  //
88  //
89  /* FUNCTIONS ------------------------------------------------------- */
90 
91 public:
92 
94  ActorComp ( Actor * actor );
95 
97  ActorComp ( Actor * actor, quint64 cost, quint64 energy );
98 
99 protected:
100 
102  virtual ~ActorComp ( void );
103 
104 public:
105 
107  virtual bool save ( QSettings & s ) const;
108 
110  virtual bool load ( QSettings & s );
111 
113  inline bool isValid ( void ) const
114  { return ( ( cost_ > 0 ) && ( energy_ > 0 ) ); }
115 
117  inline Actor * actor ( void ) const
118  { return actor_; }
119 
121  QString myName ( void ) const;
122 
124 
131  inline quint64 cost ( void ) const
132  { return cost_; }
133 
134 
136  inline quint64 energy ( void ) const
137  { return energy_; }
138 
139 
140 protected:
141 
143  void setCost ( quint64 new_val )
144  { cost_ = new_val; }
145 
147  void setEnergy ( quint64 new_val )
148  { energy_ = new_val; }
149 
151  virtual void doSteps ( int steps )
152  { Q_UNUSED( steps ); }
153 
154 
155 
156  /* FUNCTIONS ======================================================= */
157  //
158  //
159  //
160  //
161 
162 }; /* class ActorComp */
163 
164 /* CLASS =============================================================== */
165 //
166 //
167 //
168 //
169 
170 } // namespace april
171 
172 #endif // __ACTORCOMP_INC__
173 /* ------------------------------------------------------------------------- */
174 /* ========================================================================= */