ReisenTasker/Assets/Scripts/Inventory/CraftableUIObject.cs

26 lines
1.1 KiB
C#

using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class CraftableUIObject : MonoBehaviour
{
public CraftingRequirementUIObject templateRequirementUI;
public Transform requirementGrid;
public TextMeshProUGUI itemNameText;
public TextMeshProUGUI amountText;
public Image itemIcon;
public Button thisButton;
public void SetObject(Item itemToSet)
{
itemNameText.text = itemToSet.itemName; //it would be reset every time you open the inventory instead of updating only the amount but whatever it doesn't matter
amountText.text = $"x{itemToSet.craftedAmount}";
itemIcon.sprite = itemToSet.icon;
thisButton.onClick.AddListener(() => CraftingSystem.instance.TryCraftingItem(itemToSet));
foreach (InventoryManager.ItemAmount craftingRequirement in itemToSet.requiredMaterials)
{
CraftingRequirementUIObject newRequirementUI = Instantiate(templateRequirementUI, requirementGrid);
newRequirementUI.SetObject(craftingRequirement.item, craftingRequirement.amount);
}
}
}