コード例 #1
0
ファイル: Task.cs プロジェクト: KudaJingkrak/SiTongkol
        /**
         * Add reward to Invetory whes is completed
         */
        private void GetRewards()
        {
            for (int i = 0; i < rewards.Length; i++)
            {
                switch (rewards[i].type)
                {
                case ItemType.Amulet:
                    AmuletPointer amuletPointer = new AmuletPointer();
                    amuletPointer.label = rewards[i].label;
                    rewards[i].amount   = Inventory.Instance.AddAmulet(amuletPointer);
                    break;

                case ItemType.Consumable:
                    ConsumablePointer consumablePointer = new ConsumablePointer();
                    consumablePointer.label  = rewards[i].label;
                    consumablePointer.amount = rewards[i].amount;
                    rewards[i].amount        = Inventory.Instance.AddConsumable(consumablePointer);
                    break;

                case ItemType.Equipment:
                    EquipmentPointer equipmentPointer = new EquipmentPointer();
                    equipmentPointer.label = rewards[i].label;
                    rewards[i].amount      = Inventory.Instance.AddEquipment(equipmentPointer);
                    break;

                case ItemType.QuestItem:
                    QuestItemPointer questItemPointer = new QuestItemPointer();
                    questItemPointer.label  = rewards[i].label;
                    questItemPointer.amount = rewards[i].amount;
                    rewards[i].amount       = Inventory.Instance.AddQuestItem(questItemPointer);
                    break;
                }
            }
        }
コード例 #2
0
ファイル: Task.cs プロジェクト: KudaJingkrak/SiTongkol
        /**
         * Remove Items requirement from inventory when is completed
         */
        private void FetchRequirement()
        {
            for (int i = 0; i < items.Length; i++)
            {
                switch (items[i].type)
                {
                case ItemType.Amulet:
                    AmuletPointer amuletPointer = new AmuletPointer();
                    amuletPointer.label = items[i].label;
                    Inventory.Instance.RemoveAmulet(amuletPointer);
                    break;

                case ItemType.Consumable:
                    ConsumablePointer consumablePointer = new ConsumablePointer();
                    consumablePointer.label  = items[i].label;
                    consumablePointer.amount = items[i].amount;
                    Inventory.Instance.RemoveConsumable(consumablePointer);
                    break;

                case ItemType.Equipment:
                    EquipmentPointer equipmentPointer = new EquipmentPointer();
                    equipmentPointer.label = items[i].label;
                    Inventory.Instance.RemoveEquipment(equipmentPointer);
                    break;

                case ItemType.QuestItem:
                    QuestItemPointer questItemPointer = new QuestItemPointer();
                    questItemPointer.label  = items[i].label;
                    questItemPointer.amount = items[i].amount;
                    Inventory.Instance.RemoveQuestItem(questItemPointer);
                    break;
                }
            }
        }
コード例 #3
0
ファイル: Inventory.cs プロジェクト: KudaJingkrak/SiTongkol
    public bool RemoveEquipment(EquipmentPointer _equipment, int index = -1)
    {
        if (index == -1)
        {
            for (int i = 0; i < equipment.Length; i++)
            {
                if (equipment[i].label == _equipment.label)
                {
                    equipment[i].label = ItemName.None;
                    return(true);
                }
            }
        }

        if (index > -1)
        {
            if (equipment[index].label == _equipment.label)
            {
                equipment[index].label = ItemName.None;
                return(true);
            }
        }
        return(false);
    }
コード例 #4
0
ファイル: Inventory.cs プロジェクト: KudaJingkrak/SiTongkol
    /**
     * Keluaran 1 atau 0
     * Jika 1, maka barang tidak berhasih diambil
     * 0, maka barang berhasil diambil
     */
    public int AddEquipment(EquipmentPointer _equipment, int index = -1, bool check = false)
    {
        if (check || index == -1)
        {
            for (int i = 0; i < equipment.Length; i++)
            {
                if (equipment[i].label == _equipment.label)
                {
                    return(1);
                }
            }
        }

        if (index == -1)
        {
            for (int i = 0; i < equipment.Length; i++)
            {
                if (equipment[i].label == ItemName.None)
                {
                    equipment[index] = _equipment;
                    return(0);
                }
            }
        }

        if (index > -1)
        {
            if (equipment[index].label == ItemName.None)
            {
                equipment[index] = _equipment;
                return(0);
            }
        }

        return(1);
    }
コード例 #5
0
    public static Pickup PickupItem(Pickup item, GameObject instigator)
    {
        if (instigator.CompareTag("Player"))
        {
            switch (item.type)
            {
            case ItemType.Amulet:
                Amulet amulet = ItemDictionary.Instance.GetAmulet(item.itemName);
                if (amulet != null)
                {
                    AmuletPointer amuletPointer = new AmuletPointer();
                    amuletPointer.label = item.itemName;
                    int amount = Inventory.Instance.AddAmulet(amuletPointer);
                    Debug.Log((1 - amount) + " Item equipment " + amulet.label + " masuk ke inventory");
                    item.amount = amount;

                    // TODO implement UI notification
                }
                break;

            case ItemType.Equipment:
                Equipment equipment = ItemDictionary.Instance.GetEquipment(item.itemName);
                if (equipment != null)
                {
                    EquipmentPointer equipmentPointer = new EquipmentPointer();
                    equipmentPointer.label = item.itemName;
                    int amount = Inventory.Instance.AddEquipment(equipmentPointer);
                    Debug.Log((1 - amount) + " Item equipment " + equipment.label + " masuk ke inventory");
                    item.amount = amount;

                    // TODO implement UI notification
                }
                break;

            case ItemType.Consumable:
                Consumable consumable = ItemDictionary.Instance.GetConsumable(item.itemName);
                if (consumable != null)
                {
                    ConsumablePointer consumablePointer = new ConsumablePointer();
                    consumablePointer.label  = item.itemName;
                    consumablePointer.amount = item.amount;
                    int amount = Inventory.Instance.AddConsumable(consumablePointer);
                    Debug.Log((item.amount - amount) + " Item consumable " + consumable.label + " masuk ke inventory");
                    item.amount = amount;

                    // TODO implement UI notification
                }
                break;

            case ItemType.QuestItem:
                QuestItem questItem = ItemDictionary.Instance.GetQuestItem(item.itemName);
                if (questItem != null)
                {
                    QuestItemPointer questItemPointer = new QuestItemPointer();
                    questItemPointer.label  = item.itemName;
                    questItemPointer.amount = item.amount;
                    int amount = Inventory.Instance.AddQuestItem(questItemPointer);
                    Debug.Log((item.amount - amount) + " Item quest " + questItem.label + " masuk ke inventory");
                    item.amount = amount;

                    // TODO implement UI notification
                }
                break;
            }
        }

        return(item);
    }