diff options
author | drumsetmonkey <abelleisle@roadrunner.com> | 2016-04-28 10:31:16 -0400 |
---|---|---|
committer | drumsetmonkey <abelleisle@roadrunner.com> | 2016-04-28 10:31:16 -0400 |
commit | 2e026aff928b30267a39ef6fdeec3e43e9f106e6 (patch) | |
tree | b787550264cb3f1a88401f0240968c99b5138237 /src/entities.cpp | |
parent | 53800e07513f4a625ba70ff7d805d158a6b42121 (diff) |
New inventory system
Diffstat (limited to 'src/entities.cpp')
-rw-r--r-- | src/entities.cpp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/entities.cpp b/src/entities.cpp index 631521b..aa236fe 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -178,6 +178,7 @@ Player::Player(){ //sets all of the player specific traits on object creation "assets/player/playerk6.png", "assets/player/playerk7.png", "assets/player/playerk8.png"); + inv = new Inventory(PLAYER_INV_SIZE); } Player::~Player() { @@ -851,9 +852,13 @@ void Player::save(void) { data.append(std::to_string((int)maxHealth) + "\n"); data.append(std::to_string((int)gtime::getTickCount()) + "\n"); - data.append(std::to_string((int)inv->items.size()) + "\n"); - for(auto &i : inv->items) - data.append(std::to_string((int)i.count) + "\n" + std::to_string((int)i.id) + "\n"); + data.append("qwer\n"); + data.append(std::to_string((int)inv->Items.size()) + "\n"); + for(auto &i : inv->Items) { + if(i.second) + data.append(std::to_string(uint(i.second)) + "\n" + i.first->name + "\n"); + } + data.append("qwer\n"); data.append(std::string(currentXML.data() + 4) + "\n"); @@ -864,7 +869,7 @@ void Player::save(void) { void Player::sspawn(float x,float y) { unsigned int i; - uint count; + int count; std::ifstream in (std::string(xmlFolder + "main.dat"),std::ios::in | std::ios::binary); spawn(x,y); @@ -894,11 +899,18 @@ void Player::sspawn(float x,float y) { gtime::tick(std::stoi(ddata)); std::getline(data,ddata); - for(i = std::stoi(ddata);i;i--) { + std::getline(data,ddata); + + for (i = std::stoi(ddata);i;i--) { std::getline(data,ddata); + if (ddata == "qwer") + break; count = std::stoi(ddata); + std::getline(data,ddata); - inv->items.push_back(item_t{count,(uint)std::stoi(ddata)}); + if (ddata == "qwer") + break; + inv->addItem(ddata, (uint)count); } std::getline(data,ddata); |