예제 #1
0
    /// <summary>
    /// Adds n item to first empty inventorySlot or increases number if existing
    /// </summary>
    /// <param name="item">item to add</param>
    /// <param name="count">number of items</param>
    public void AddItem(Item item, int count)
    {
        // check if item exist and increase number
        for (int i = 0; i < uiItems.Length; i++)
        {
            if (uiItems[i].item == item)
            {
                int newCount = uiItems[i].itemCount.text == "" ? 1 + count : int.Parse(uiItems[i].itemCount.text) + count;
                uiItems[i].itemCount.text = newCount.ToString();

                // Update number of items in quickSlots if referenced
                for (int j = 0; j < QuickSlots.SIZE; j++)
                {
                    if (quickSlots.inventoryReference[j] == i)
                    {
                        quickSlots.UpdateItemCount(j, uiItems[i]);
                    }
                }

                return;
            }
        }

        // add item to first
        for (int i = 0; i < uiItems.Length; i++)
        {
            if (uiItems[i].item == null)
            {
                uiItems[i].item             = item;
                uiItems[i].itemImage.sprite = item.sprite;
                if (count > 1)
                {
                    uiItems[i].itemCount.text = count.ToString();
                }
                uiItems[i].itemImage.enabled = true;
                return;
            }
        }
    }