// 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; }
/// <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); }
/// <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. }