diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-02-01 23:48:15 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-02-02 22:48:03 +0300 |
commit | 6dc1f5e0b68cf390f7938329b50a9b28bd187862 (patch) | |
tree | 29e30e48cc03d95aeff278f6842f3a15de8f4106 /src/gui/models/shopitems.cpp | |
parent | c8c51d7550adf9c952a4be54398df7e7a6f341a8 (diff) | |
download | manaplus-6dc1f5e0b68cf390f7938329b50a9b28bd187862.tar.gz manaplus-6dc1f5e0b68cf390f7938329b50a9b28bd187862.tar.bz2 manaplus-6dc1f5e0b68cf390f7938329b50a9b28bd187862.tar.xz manaplus-6dc1f5e0b68cf390f7938329b50a9b28bd187862.zip |
Set correct vending status to local player.
Allow buy from vending shop.
Diffstat (limited to 'src/gui/models/shopitems.cpp')
-rw-r--r-- | src/gui/models/shopitems.cpp | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/src/gui/models/shopitems.cpp b/src/gui/models/shopitems.cpp index e154c0b2e..52a0d60b2 100644 --- a/src/gui/models/shopitems.cpp +++ b/src/gui/models/shopitems.cpp @@ -50,32 +50,38 @@ std::string ShopItems::getElementAt(int i) return mShopItems.at(i)->getDisplayName(); } -void ShopItems::addItem(const int id, - const int type, - const unsigned char color, - const int amount, - const int price) +ShopItem *ShopItems::addItem(const int id, + const int type, + const unsigned char color, + const int amount, + const int price) { - mShopItems.push_back(new ShopItem(-1, id, type, color, amount, price)); + ShopItem *const item = new ShopItem(-1, id, type, color, amount, price); + mShopItems.push_back(item); + return item; } -void ShopItems::addItemNoDup(const int id, - const int type, - const unsigned char color, - const int amount, - const int price) +ShopItem *ShopItems::addItemNoDup(const int id, + const int type, + const unsigned char color, + const int amount, + const int price) { - const ShopItem *const item = findItem(id, color); + ShopItem *item = findItem(id, color); if (!item) - mShopItems.push_back(new ShopItem(-1, id, type, color, amount, price)); + { + item = new ShopItem(-1, id, type, color, amount, price); + mShopItems.push_back(item); + } + return item; } -void ShopItems::addItem2(const int inventoryIndex, - const int id, - const int type, - const unsigned char color, - const int quantity, - const int price) +ShopItem *ShopItems::addItem2(const int inventoryIndex, + const int id, + const int type, + const unsigned char color, + const int quantity, + const int price) { ShopItem *item = nullptr; if (mMergeDuplicates) @@ -90,6 +96,7 @@ void ShopItems::addItem2(const int inventoryIndex, item = new ShopItem(inventoryIndex, id, type, color, quantity, price); mShopItems.push_back(item); } + return item; } ShopItem *ShopItems::at(unsigned int i) const |