示例#1
0
        //충동시 아이템 획득
        private void OnTriggerEnter(Collider other)
        {
            InventoryTab inventoryTab = null;

            switch (majorType)
            {
            case MajorTypeEnum.CommonItem:
            {
                // 깊은 복사 & 수정
                SlotItem item = ItemData.CommonItemClone(index);

                int dropCount = UnityEngine.Random.Range((int)dropAmountRange.x, (int)dropAmountRange.y + 1);
                item.Count = dropCount;

                //아이템이 먹어지는 탭 지정
                inventoryTab = TabManager.GetTab(0);
                inventoryTab.Add(item, true);
                break;
            }

            case MajorTypeEnum.ConsumItem:
            {
                SlotItem item = ItemData.ConsumItemClone(index);

                int dropCount = UnityEngine.Random.Range((int)dropAmountRange.x, (int)dropAmountRange.y + 1);
                item.Count = dropCount;

                inventoryTab = TabManager.GetTab(0);
                inventoryTab.Add(item, true);
                break;
            }

            case MajorTypeEnum.EquipmentItem:
            {
                SlotItem item = ItemData.EquipmentItemClone(index);

                inventoryTab = TabManager.GetTab(0);
                inventoryTab.Add(item, true);
                break;
            }

            case MajorTypeEnum.ImmediateItem:
            {
                int           dropAmount = UnityEngine.Random.Range((int)dropAmountRange.x, (int)dropAmountRange.y + 1);
                ImmediateItem item       = ItemData.ImmediateClone(index);
                item.UseEvent.Invoke(dropAmount);
                break;
            }
            }

            SlotManager.RefreshAll();           //#### 아이템 먹을때는 인벤토리 켜져있을때만 새로고침하면됨
            Destroy(this.gameObject);
        }