summaryrefslogtreecommitdiff
path: root/src/resources/inventory
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources/inventory')
-rw-r--r--src/resources/inventory/inventory.cpp14
-rw-r--r--src/resources/inventory/inventory.h5
2 files changed, 19 insertions, 0 deletions
diff --git a/src/resources/inventory/inventory.cpp b/src/resources/inventory/inventory.cpp
index 0f34ea977..ddc9acc1a 100644
--- a/src/resources/inventory/inventory.cpp
+++ b/src/resources/inventory/inventory.cpp
@@ -31,6 +31,7 @@
#include "resources/iteminfo.h"
#include "resources/item/item.h"
+#include "resources/item/itemoptionslist.h"
#include "listeners/inventorylistener.h"
@@ -204,6 +205,19 @@ void Inventory::setCards(const int index,
item1->setCards(cards, size);
}
+void Inventory::setOptions(const int index,
+ const ItemOptionsList *const options)
+{
+ if (index < 0 || index >= CAST_S32(mSize))
+ {
+ logger->log("Warning: invalid inventory index: %d", index);
+ return;
+ }
+ Item *const item1 = mItems[index];
+ if (item1)
+ item1->setOptions(options);
+}
+
void Inventory::clear()
{
for (unsigned i = 0; i < mSize; i++)
diff --git a/src/resources/inventory/inventory.h b/src/resources/inventory/inventory.h
index f4d275eae..5180e49e1 100644
--- a/src/resources/inventory/inventory.h
+++ b/src/resources/inventory/inventory.h
@@ -47,6 +47,8 @@
class InventoryListener;
class Item;
+struct ItemOptionsList;
+
class Inventory notfinal
{
public:
@@ -121,6 +123,9 @@ class Inventory notfinal
const int *const cards,
const int size) const;
+ void setOptions(const int index,
+ const ItemOptionsList *const options);
+
void moveItem(const int index1,
const int index2);