//using System.Collections; using System.Collections.Generic; using UnityEngine; namespace SimpleInventorySystem { public class Inventory : MonoBehaviour { // Start is called before the first frame update public bool hasBeenLooted = false; public List prefabs; [HideInInspector] public List itemUIs; //[SerializeField] private Slot[] slots; void Start() { itemUIs = new List(); } // Update is called once per frame void Update() { } /// /// Instantiates the item prefab first and calls necessary stuff. /// public void Loot() { if (!hasBeenLooted && prefabs != null) { for (int i = 0; i < prefabs.Count; i++) { if (prefabs[i] == null) { prefabs.Remove(prefabs[i]); } else { GameObject gObj = Instantiate(prefabs[i]); ItemUI item = gObj.GetComponentInChildren(); if(item != null) { item.gameObject.SetActive(true); AddOwnership(item, this); //item.transform.SetParent(transform, true); item.InitializeImageSize(); item.ResetTransform(); //gObj.transform.SetParent(item.transform, true); gObj.SetActive(false); } } } hasBeenLooted = true; } else { hasBeenLooted = true; } } public void RemoveOwnership(ItemUI item, Inventory newOwnerInventory) { item.Inventory = newOwnerInventory; //items.Remove(item.pickUp.ItemGameObject); itemUIs.Remove(item); newOwnerInventory.AddOwnership(item, this); } public void AddOwnership(ItemUI item, Inventory oldOwnerInventory) { //items.Add(item.pickUp.ItemGameObject); itemUIs.Add(item); } } }