]> jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/PlayerGO.cpp
A little bit more work on testing and minor modifications
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / src / GameLayer / GameObjects / PlayerGO.cpp
1 #include <GameServ/GameLayer/GameObjects/PlayerGO.h>
2 using GameServ::GameLayer::GameObjects::PlayerGO;
3 #include <GameServ/GameLayer/GameObjects/ArmorGO.h>
4 using GameServ::GameLayer::GameObjects::ArmorGO;
5 #include <GameServ/GameLayer/GameObjects/WeaponGO.h>
6 using GameServ::GameLayer::GameObjects::WeaponGO;
7
8 #include <boost/shared_ptr.hpp>
9 using boost::shared_ptr;
10
11 #include <GameServ/GameServException.h>
12 using GameServ::Exceptions::GameServException;
13
14 #include <boost/date_time/posix_time/posix_time.hpp>
15 using boost::posix_time::ptime;
16
17 PlayerGO::PlayerGO() : GameObject(), mName(""), mLevel(1), mExperience(0), mGold(0), mHealth(0), mMaxHealth(0), mStrength(1),
18 mDefense(1), mForestFights(0), mPlayerFights(0), mPassword("")
19 {
20 }
21
22 PlayerGO::PlayerGO(const string &Id) : GameObject(Id), mName(""), mLevel(1), mExperience(0), mGold(0), mHealth(0), mMaxHealth(0), mStrength(1),
23 mDefense(1), mForestFights(0), mPlayerFights(0), mPassword("")
24 {
25 }
26
27 PlayerGO::~PlayerGO()
28 {
29 }
30
31 string PlayerGO::Name(void) const
32 {
33 return mName;
34 }
35
36 void PlayerGO::Name(const string &value)
37 {
38 assert(!value.empty());
39 mName = value;
40 }
41
42 int PlayerGO::Level(void) const
43 {
44 return mLevel;
45 }
46
47 void PlayerGO::Level(const int &value)
48 {
49 assert(value > 0);
50 mLevel = value;
51 }
52
53 unsigned long int PlayerGO::Experience(void) const
54 {
55 return mLevel;
56 }
57
58 void PlayerGO::Experience(const unsigned long int &value)
59 {
60 mExperience = value;
61 }
62
63 unsigned long int PlayerGO::Gold(void) const
64 {
65 return mGold;
66 }
67
68 void PlayerGO::Gold(const unsigned long int &value)
69 {
70 mGold = value;
71 }
72
73 unsigned long int PlayerGO::Bank(void) const
74 {
75 return mBank;
76 }
77
78 void PlayerGO::Bank(const unsigned long int &value)
79 {
80 mBank = value;
81 }
82
83 int PlayerGO::Health(void) const
84 {
85 return mHealth;
86 }
87
88 void PlayerGO::Health(const int &value)
89 {
90 assert(value >= 0);
91 mHealth = value;
92 }
93
94 int PlayerGO::MaxHealth(void) const
95 {
96 return mMaxHealth;
97 }
98
99 void PlayerGO::MaxHealth(const int &value)
100 {
101 assert (value >= 0);
102 mMaxHealth = value;
103 }
104
105 int PlayerGO::Strength(void) const
106 {
107 return mStrength;
108 }
109
110 void PlayerGO::Strength(const int &value)
111 {
112 assert (value > 0);
113 mStrength = value;
114 }
115
116 int PlayerGO::Defense(void) const
117 {
118 return mDefense;
119 }
120
121 void PlayerGO::Defense(const int &value)
122 {
123 assert(value > 0);
124 mDefense = value;
125 }
126
127 int PlayerGO::ForestFights(void) const
128 {
129 return mForestFights;
130 }
131
132 void PlayerGO::ForestFights(const int &value)
133 {
134 assert (value >= 0);
135 mForestFights = value;
136 }
137
138 int PlayerGO::PlayerFights(void) const
139 {
140 return mPlayerFights;
141 }
142
143 void PlayerGO::PlayerFights(const int &value)
144 {
145 assert (value >= 0);
146 mPlayerFights = value;
147 }
148
149 shared_ptr<WeaponGO> PlayerGO::Weapon(void) const
150 {
151 return mWeapon;
152 }
153
154 void PlayerGO::Weapon(shared_ptr<WeaponGO> spWeapon)
155 {
156 mWeapon = spWeapon;
157 }
158
159 shared_ptr<ArmorGO> PlayerGO::Armor(void) const
160 {
161 return mArmor;
162 }
163
164 void PlayerGO::Armor(shared_ptr<ArmorGO> spArmor)
165 {
166 mArmor = spArmor;
167 }
168
169 void PlayerGO::Use(shared_ptr<ItemGO> spItem)
170 {
171 throw GameServException("Undefined function.", __FILE__, __LINE__);
172 }
173
174 void PlayerGO::Undo(shared_ptr<ItemGO> spItem)
175 {
176 throw GameServException("Undefined function.", __FILE__, __LINE__);
177 }
178
179 void PlayerGO::Password(const string &value)
180 {
181 mPassword = value;
182 }
183
184 string PlayerGO::Password(void) const
185 {
186 return mPassword;
187 }
188
189 void PlayerGO::LastLogin(const ptime &value)
190 {
191 mLastLogin = value;
192 }
193
194 ptime PlayerGO::LastLogin(void) const
195 {
196 return mLastLogin;
197 }
198
199 bool PlayerGO::operator !=(const PlayerGO &right) const
200 {
201 return !(*this == right);
202 }
203
204 bool PlayerGO::operator ==(const PlayerGO &right) const
205 {
206 return GameObject::operator == (right) &&
207 mName == right.mName && right.mArmor == mArmor &&
208 right.mDefense == mDefense && right.mExperience == mExperience &&
209 right.mForestFights == mForestFights && right.mGold == mGold &&
210 right.mHealth == mHealth && right.mInventory == mInventory &&
211 right.mLevel == mLevel && right.mMaxHealth == mMaxHealth &&
212 right.mPassword == mPassword && right.mPlayerFights == mPlayerFights &&
213 right.mStrength == mStrength && right.mWeapon == mWeapon;
214 }
215
216 PlayerGO *PlayerGO::Clone(void) const
217 {
218 return new PlayerGO(*this);
219 }
220