26 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|