summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/inventory/inventory.cpp15
-rw-r--r--src/resources/inventory/inventory.h2
2 files changed, 17 insertions, 0 deletions
diff --git a/src/resources/inventory/inventory.cpp b/src/resources/inventory/inventory.cpp
index 7363bdd30..d256ea9ac 100644
--- a/src/resources/inventory/inventory.cpp
+++ b/src/resources/inventory/inventory.cpp
@@ -420,6 +420,21 @@ int Inventory::findIndexByTag(const int tag) const
return -1;
}
+Item *Inventory::findItemByTag(const int tag) const
+{
+ for (unsigned i = 0; i < mSize; i++)
+ {
+ Item *const item = mItems[i];
+ if (item != nullptr &&
+ item->mTag == tag)
+ {
+ return item;
+ }
+ }
+
+ return nullptr;
+}
+
bool Inventory::addVirtualItem(const Item *const item,
int index,
const int amount)
diff --git a/src/resources/inventory/inventory.h b/src/resources/inventory/inventory.h
index a7b1e8e73..573a0f5c0 100644
--- a/src/resources/inventory/inventory.h
+++ b/src/resources/inventory/inventory.h
@@ -189,6 +189,8 @@ class Inventory notfinal
int findIndexByTag(const int tag) const;
+ Item *findItemByTag(const int tag) const;
+
virtual bool addVirtualItem(const Item *const item,
int index,
const int amount);