Beispiel #1
0
        public static ImmediateItem ImmediateClone(int index)
        {
            ImmediateItem newItem = new ImmediateItem(immediateItemList[index].Id
                                                      , immediateItemList[index].Name, immediateItemList[index].DisplayName, immediateItemList[index].Description
                                                      , immediateItemList[index].Type, immediateItemList[index].Usable, immediateItemList[index].UseEvent);

            return(newItem);
        }
Beispiel #2
0
        private void RegisterImmediateItem()
        {
            ImmediateItem moneyUp1 = new ImmediateItem("4001", "MoneyUp1", "돈", "돈이 오른다", "Money을 획득한다", true, ItemEffect.MoneyUp);
            ImmediateItem sizeUp1  = new ImmediateItem("4001", "sizeUp1", "하급 사이즈 업", "Size가 커진다 ", "Size", true, ItemEffect.SizeUp);

            immediateItemList.Add(moneyUp1);
            immediateItemList.Add(sizeUp1);
        }
Beispiel #3
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);
        }