diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2007-11-15 23:44:01 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2007-11-15 23:44:01 +0000 |
commit | 0e925e97554aae573e895afa4e3d8450f01df342 (patch) | |
tree | bbc30319410aecb9fec7c005e667cd7fb628bb17 /src/gui/buy.cpp | |
parent | ffa0fae492d954c0aed35a0acbd7b856778d7328 (diff) | |
download | mana-0e925e97554aae573e895afa4e3d8450f01df342.tar.gz mana-0e925e97554aae573e895afa4e3d8450f01df342.tar.bz2 mana-0e925e97554aae573e895afa4e3d8450f01df342.tar.xz mana-0e925e97554aae573e895afa4e3d8450f01df342.zip |
Moved item icon from ItemInfo class to the Item class, so that it can be loaded
on demand. Results in faster startup time and reduced memory usage.
Diffstat (limited to 'src/gui/buy.cpp')
-rw-r--r-- | src/gui/buy.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp index a21435f8..d2e12a85 100644 --- a/src/gui/buy.cpp +++ b/src/gui/buy.cpp @@ -35,7 +35,6 @@ #include "../npc.h" #include "../net/gameserver/player.h" -#include "../resources/itemdb.h" #include "../utils/gettext.h" #include "../utils/strprintf.h" @@ -165,7 +164,7 @@ void BuyDialog::action(const gcn::ActionEvent &event) mAmountItems <= mMaxItems) { Net::GameServer::Player::tradeWithNPC - (mShopItems->at(selectedItem).id, mAmountItems); + (mShopItems->at(selectedItem)->getId(), mAmountItems); // Reset selection mAmountItems = 1; @@ -174,7 +173,8 @@ void BuyDialog::action(const gcn::ActionEvent &event) // Update money and adjust the max number of items that can be bought mMaxItems -= mAmountItems; - setMoney(mMoney - mAmountItems * mShopItems->at(selectedItem).price); + setMoney(mMoney - + mAmountItems * mShopItems->at(selectedItem)->getPrice()); } } @@ -197,22 +197,24 @@ BuyDialog::updateButtonsAndLabels() if (selectedItem > -1) { - const ItemInfo &info = ItemDB::get(mShopItems->at(selectedItem).id); + const ItemInfo &info = mShopItems->at(selectedItem)->getInfo(); mItemDescLabel->setCaption (strprintf(_("Description: %s"), info.getDescription().c_str())); mItemEffectLabel->setCaption (strprintf(_("Effect: %s"), info.getEffect().c_str())); + int itemPrice = mShopItems->at(selectedItem)->getPrice(); + // Calculate how many the player can afford - mMaxItems = mMoney / mShopItems->at(selectedItem).price; + mMaxItems = mMoney / itemPrice; if (mAmountItems > mMaxItems) { mAmountItems = mMaxItems; } // Calculate price of pending purchase - price = mAmountItems * mShopItems->at(selectedItem).price; + price = mAmountItems * itemPrice; } else { |