Пример #1
0
        // PUBLIC

        /// <summary>
        /// Set the vital data after creating the prefab.
        /// </summary>
        /// <param name="item">The type of item this prefab represents.</param>
        /// <param name="number">The number of items represented.</param>
        public void Setup(InventoryItem item, int number)
        {
            this.item = item;
            if (!item.IsStackable())
            {
                number = 1;
            }
            this.number = number;
        }
Пример #2
0
        /// <summary>
        /// Find an existing stack of this item type.
        /// </summary>
        /// <returns>-1 if no stack exists or if the item is not stackable.</returns>
        private int FindStack(InventoryItem item)
        {
            if (!item.IsStackable())
            {
                return(-1);
            }

            for (int i = 0; i < slots.Length; i++)
            {
                if (object.ReferenceEquals(slots[i].item, item))
                {
                    return(i);
                }
            }
            return(-1);
        }
Пример #3
0
        /// <summary>
        /// Find an existing stack of this item type.
        /// </summary>
        /// <returns>-1 if no stack exists or if the item is not stackable.</returns>
        private int FindStack(InventoryItem item)
        {
            if (!item.IsStackable())//item이 inventory의 아이템이 아니라면 -1 return
            {
                return(-1);
            }

            for (int i = 0; i < slots.Length; i++)               //item이 inventory의 아이템이라면 loop
            {
                if (object.ReferenceEquals(slots[i].item, item)) //슬롯의 아이템을 동일한지 확인하는 함수
                {
                    return(i);                                   //해당 index의 아이템과 FindStack으로 온 item이 같다면 해당 index 반환
                }
            }
            return(-1);//inventory의 item이지만 slot에 item이 존재하지 않는 경우 -1 return.
        }