public bool RemoveInventoryObject(InventoryObject inventoryObject)
        {
            bool success = false;

            if (slotSpecial.IsEmpty() == false && slotSpecial.GetInventoryUIObject().GetInventoryObject() == inventoryObject)
            {
                Destroy(slotSpecial.GetInventoryUIObject().gameObject);
                slotSpecial.SetInventoryUIObject(null);
                success = true;
            }
            else
            {
                foreach (InventoryUISlot slot in slots)
                {
                    if (slot.IsEmpty())
                    {
                        continue;
                    }

                    if (slot.GetInventoryUIObject().GetInventoryObject() == inventoryObject)
                    {
                        Destroy(slot.GetInventoryUIObject().gameObject);
                        slot.SetInventoryUIObject(null);
                        success = true;
                    }
                }
            }

            return(success);
        }
Exemple #2
0
 public void SetCurrentSlot(InventoryUISlot slot)
 {
     currentSlot = slot;
     currentSlot.SetInventoryUIObject(this);
     GetTransform().SetParent(slot.GetTransform());
     GetTransform().localPosition = Vector3.zero;
 }
        public void InstantiateNewSlots(int amount)
        {
            for (int i = 0; i < amount; i++)
            {
                GameObject templateClone = Instantiate(inventoryUISlotTemplate.gameObject, Vector3.zero, Quaternion.identity);
                templateClone.name = "Slot" + i;
                InventoryUISlot slot = templateClone.GetComponent <InventoryUISlot>();
                slot.SetInventoryUIObject(null);
                slot.GetTransform().SetParent(inventoryUISlotTemplate.GetTransform().parent);
                slot.GetTransform().localScale = inventoryUISlotTemplate.GetTransform().localScale;
                slot.gameObject.SetActive(true);
                slot.Init(this);

                slots.Add(slot);
            }
        }