inventory ui

This commit is contained in:
Janis Meister
2023-02-21 15:11:53 +01:00
parent 0b5f3d445f
commit 5773aa0af7
19 changed files with 4725 additions and 28 deletions

View File

@@ -0,0 +1,50 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InventoryUI : MonoBehaviour
{
[SerializeField] private GameObject slotPrefab;
[SerializeField] private GameObject slotListObj;
[SerializeField] private List<SlotUI> slotUIList;
private Inventory playerInventory;
private void Start()
{
playerInventory = GameObject.FindGameObjectWithTag("Player").GetComponent<Inventory>();
Inventory.OnPlayerInventoryChanged += UpdateSlots;
CreateSlots();
UpdateSlots();
}
private void CreateSlots()
{
playerInventory = GameObject.FindGameObjectWithTag("Player").GetComponent<Inventory>();
for (int i = 0; i < playerInventory.maxSlots; i++)
{
slotUIList.Add(Instantiate(slotPrefab, Vector3.zero, Quaternion.identity, slotListObj.transform).GetComponent<SlotUI>());
}
}
private void UpdateSlots()
{
Debug.Log("Update slots");
int i = 0;
foreach (SlotUI slotUi in slotUIList)
{
if (i < playerInventory.items.Count)
{
slotUi.SetInventoryItem(playerInventory.items[i]);
}
else
{
slotUi.SetInventoryItem(null);
}
i++;
}
}
}