diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-05-20 18:58:23 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-05-20 18:58:23 +0300 |
commit | 961b1482f903c7f583eac639e7bf7b98e8d544c6 (patch) | |
tree | ec6940a89ea7be08a5c3b14480b998c9f8e99e80 /src/net/ea/inventoryhandler.h | |
parent | 2f879820ee0e07b94a7c8189b8b7ab0720c3e208 (diff) | |
download | manaplus-961b1482f903c7f583eac639e7bf7b98e8d544c6.tar.gz manaplus-961b1482f903c7f583eac639e7bf7b98e8d544c6.tar.bz2 manaplus-961b1482f903c7f583eac639e7bf7b98e8d544c6.tar.xz manaplus-961b1482f903c7f583eac639e7bf7b98e8d544c6.zip |
Move equipbackend into separate file.
Diffstat (limited to 'src/net/ea/inventoryhandler.h')
-rw-r--r-- | src/net/ea/inventoryhandler.h | 70 |
1 files changed, 2 insertions, 68 deletions
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h index 4546b75bb..670153aed 100644 --- a/src/net/ea/inventoryhandler.h +++ b/src/net/ea/inventoryhandler.h @@ -34,6 +34,8 @@ #include "net/inventoryhandler.h" +#include "net/ea/equipbackend.h" + #include <vector> #include <queue> @@ -45,74 +47,6 @@ namespace Net namespace Ea { -class EquipBackend : public Equipment::Backend -{ - public: - EquipBackend() - { - memset(mEquipment, -1, sizeof(mEquipment)); - } - - A_DELETE_COPY(EquipBackend) - - Item *getEquipment(const int index) const override final A_WARN_UNUSED - { - int invyIndex = mEquipment[index]; - if (invyIndex == -1) - return nullptr; - - const Inventory *const inv = PlayerInfo::getInventory(); - if (inv) - return inv->getItem(invyIndex); - else - return nullptr; - } - - void clear() - { - Inventory *const inv = PlayerInfo::getInventory(); - if (!inv) - return; - for (int i = 0; i < EQUIPMENT_SIZE; i++) - { - if (mEquipment[i] != -1) - { - Item* item = inv->getItem(i); - if (item) - item->setEquipped(false); - } - - mEquipment[i] = -1; - } - } - - void setEquipment(const int index, const int inventoryIndex) - { - Inventory *const inv = PlayerInfo::getInventory(); - if (!inv) - return; - - // Unequip existing item - Item *item = inv->getItem(mEquipment[index]); - - if (item) - item->setEquipped(false); - - // not checking index because it must be safe - mEquipment[index] = inventoryIndex; - - item = inv->getItem(inventoryIndex); - if (item) - item->setEquipped(true); - - if (inventoryWindow) - inventoryWindow->updateButtons(); - } - - private: - int mEquipment[EQUIPMENT_SIZE]; -}; - /** * Used to cache storage data until we get size data for it. */ |