summaryrefslogtreecommitdiff
path: root/src/net/ea/inventoryhandler.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-05-20 18:58:23 +0300
committerAndrei Karas <akaras@inbox.ru>2014-05-20 18:58:23 +0300
commit961b1482f903c7f583eac639e7bf7b98e8d544c6 (patch)
treeec6940a89ea7be08a5c3b14480b998c9f8e99e80 /src/net/ea/inventoryhandler.h
parent2f879820ee0e07b94a7c8189b8b7ab0720c3e208 (diff)
downloadmv-961b1482f903c7f583eac639e7bf7b98e8d544c6.tar.gz
mv-961b1482f903c7f583eac639e7bf7b98e8d544c6.tar.bz2
mv-961b1482f903c7f583eac639e7bf7b98e8d544c6.tar.xz
mv-961b1482f903c7f583eac639e7bf7b98e8d544c6.zip
Move equipbackend into separate file.
Diffstat (limited to 'src/net/ea/inventoryhandler.h')
-rw-r--r--src/net/ea/inventoryhandler.h70
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.
*/