From 884103d805270bd776b7a485d9431401c0c05594 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Sun, 30 Mar 2025 18:50:13 +0000
Subject: [PATCH] #16 added ores to player inventory #14 show inventory in UI
---
Assets/Scripts/Inventory/Inventory.cs | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/Assets/Scripts/Inventory/Inventory.cs b/Assets/Scripts/Inventory/Inventory.cs
index a8a59b5..edb224e 100644
--- a/Assets/Scripts/Inventory/Inventory.cs
+++ b/Assets/Scripts/Inventory/Inventory.cs
@@ -23,33 +23,37 @@
public bool AddItem(Item item, int quantity = 1)
{
if (items.Count >= maxInventorySize && !item.isStackable)
+ {
+ //TODO: Show inventory full message
+ Debug.Log("Inventory is full");
return false;
+ }
InventorySlot existingSlot = items.Find(slot => slot.item.itemName == item.itemName);
-
if (existingSlot != null && item.isStackable)
{
+ //Add to existing stack
if (existingSlot.quantity + quantity <= item.maxStackSize)
{
existingSlot.quantity += quantity;
- return true;
}
else
{
int remainingQuantity = item.maxStackSize - existingSlot.quantity;
existingSlot.quantity = item.maxStackSize;
- return AddItem(item, quantity - remainingQuantity);
+ //TODO: Show inventory overflow message
+ Debug.Log("Inventory overflow");
+ existingSlot.quantity += remainingQuantity;
}
+
}
else
{
- if (items.Count < maxInventorySize)
- {
- items.Add(new InventorySlot(item, quantity));
- return true;
- }
- return false;
+ //Add new item to inventory
+ items.Add(new InventorySlot(item, quantity));
}
+ GameStateEvents.inventoryChanged?.Invoke();
+ return true;
}
public void RemoveItem(Item item, int quantity = 1)
@@ -67,6 +71,7 @@
items.Remove(existingSlot);
}
}
+ GameStateEvents.inventoryChanged?.Invoke();
}
}
--
Gitblit v1.10.0