using System.Collections.Generic; using UnityEngine; public class CraftingSystem : MonoBehaviour { public bool TryCraftingItem(Item requestedItem) { List missingItems = new(); foreach (InventoryManager.ItemAmount requiredMaterial in requestedItem.requiredMaterials) { if (InventoryManager.instance.CheckItemAmount(requiredMaterial.item) < requiredMaterial.amount) { InventoryManager.ItemAmount newMissingItem = new(); newMissingItem.item = requiredMaterial.item; newMissingItem.amount = requiredMaterial.amount - InventoryManager.instance.CheckItemAmount(requiredMaterial.item); } } if (missingItems.Count > 0) { return false; //supposed to return what items were missing } foreach (InventoryManager.ItemAmount requiredMaterial in requestedItem.requiredMaterials) { InventoryManager.instance.RemoveItem(requiredMaterial.item, requiredMaterial.amount); } InventoryManager.instance.AddItem(requestedItem, requestedItem.craftedAmount); return true; } }