summaryrefslogtreecommitdiff
path: root/src/gui/models/shopitems.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-02-01 23:48:15 +0300
committerAndrei Karas <akaras@inbox.ru>2015-02-02 22:48:03 +0300
commit6dc1f5e0b68cf390f7938329b50a9b28bd187862 (patch)
tree29e30e48cc03d95aeff278f6842f3a15de8f4106 /src/gui/models/shopitems.cpp
parentc8c51d7550adf9c952a4be54398df7e7a6f341a8 (diff)
downloadmanaplus-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.cpp45
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