Ejemplo n.º 1
0
    public void onClick()
    {
        PetKeeper.pet.questLog.Remove(representedQuest);

        GameControl.playPostMortemAudioClip(A_QuestDone);

        switch (representedQuest.rewardType)
        {
        case Quest.QuestRewardType.BUILDING_MATERIALS:
            PetKeeper.pet.giveCurrency(representedQuest.rewardAmount);
            break;

        case Quest.QuestRewardType.COINS:
            PetKeeper.pet.giveBuildingMaterials(representedQuest.rewardAmount);
            break;

        case Quest.QuestRewardType.EXPERIENCE:
            PetKeeper.pet.grantXP(representedQuest.rewardAmount);
            break;

        case Quest.QuestRewardType.GARDEN_DECOR:
            PetKeeper.pet.addGardenDecor(LootTable.GenerateRandomQuestDecorType(), 1);
            QuestUI.reRender = true;
            break;
        }

        QuestUI.reRender = true;
    }
Ejemplo n.º 2
0
    public static void addBuyItemToList(List <ShopItem> buyList)
    {
        ShopItem toAdd = new ShopItem();

        bool itemDone = false;

        while (!itemDone)
        {
            ItemType rndType = (ItemType)Random.Range(0, System.Enum.GetNames(typeof(ItemType)).Length);

            switch (rndType)
            {
            case ItemType.SEED:
                toAdd.itemType  = ItemType.SEED;
                toAdd.itemIndex = Random.Range(0, PetKeeper.pet.inventory.seedCounts.Length);
                toAdd.amount    = Random.Range(1, 6);
                break;

            case ItemType.PRODUCE:
                toAdd.itemType  = ItemType.PRODUCE;
                toAdd.itemIndex = Random.Range(0, PetKeeper.pet.inventory.produceCounts.Length);
                toAdd.amount    = Random.Range(1, 6);
                break;

            case ItemType.UNIQUE:
                continue;

            case ItemType.GARDEN_DECOR:
                toAdd.itemType  = ItemType.GARDEN_DECOR;
                toAdd.itemIndex = (int)LootTable.GenerateRandomQuestDecorType();
                toAdd.amount    = 1;

                if (Inventory.getGardenDecorTypeInfo((Inventory.GardenDecorType)toAdd.itemIndex).coinCost == -1)
                {
                    continue;
                }

                break;
            }

            bool alreadyExists = false;
            foreach (ShopItem item in buyList)
            {
                if (item.itemType == toAdd.itemType && item.itemIndex == toAdd.itemIndex)
                {
                    alreadyExists = true;
                }
            }

            if (alreadyExists)
            {
                itemDone = false;
            }
            else
            {
                itemDone = true;
            }
        }

        buyList.Add(toAdd);
    }