#include <boost/date_time/posix_time/posix_time.hpp>\r
using boost::posix_time::ptime;\r
\r
+#include <vector>\r
+using std::vector;\r
+#include <string>\r
+using std::string;\r
+#include <algorithm>\r
+using std::find;\r
+using std::sort;\r
+\r
PlayerGO::PlayerGO() : GameObject(), mName(""), mLevel(1), mExperience(0), mGold(0), mHealth(0), mMaxHealth(0), mStrength(1),\r
mDefense(1), mForestFights(0), mPlayerFights(0), mPassword("")\r
{\r
return mLastLogin;\r
}\r
\r
+\r
+void PlayerGO::Inventory(const vector<string> &value)\r
+{\r
+ mfkItemIds.clear();\r
+ mfkItemIds.insert(mfkItemIds.begin(), value.begin(), value.end());\r
+}\r
+\r
+vector<string> PlayerGO::Inventory(void) const\r
+{\r
+ return mfkItemIds;\r
+}\r
+\r
+\r
+void PlayerGO::AddItemToInventory(const string &fkItemId, const int &Number)\r
+{\r
+ for (int x = 0; x < Number; ++x)\r
+ {\r
+ mfkItemIds.push_back(fkItemId);\r
+ }\r
+ sort(mfkItemIds.begin(), mfkItemIds.end());\r
+}\r
+\r
+void PlayerGO::RemoveItemFromInventory(const string &fkItemId, const int &Number)\r
+{\r
+ vector<string>::iterator iter;\r
+ for (int x = 0; x < Number; ++x)\r
+ {\r
+ iter = find(mfkItemIds.begin(), mfkItemIds.end(), fkItemId);\r
+ if (iter != mfkItemIds.end())\r
+ {\r
+ mfkItemIds.erase(iter);\r
+ }\r
+ else\r
+ {\r
+ break;\r
+ }\r
+ }\r
+}\r
+\r
+\r
bool PlayerGO::operator !=(const PlayerGO &right) const\r
{\r
return !(*this == right);\r
mName == right.mName && right.mArmor == mArmor &&\r
right.mDefense == mDefense && right.mExperience == mExperience &&\r
right.mForestFights == mForestFights && right.mGold == mGold &&\r
- right.mHealth == mHealth && right.mInventory == mInventory &&\r
- right.mLevel == mLevel && right.mMaxHealth == mMaxHealth &&\r
- right.mPassword == mPassword && right.mPlayerFights == mPlayerFights &&\r
+ right.mHealth == mHealth && right.mMaxHealth == mMaxHealth &&\r
+ right.mLevel == mLevel && right.mPassword == mPassword && \r
+ right.mPlayerFights == mPlayerFights && \r
right.mStrength == mStrength && right.mWeapon == mWeapon;\r
}\r
\r