Example #1
0
    CurrencyData getSpecialGift(DogDescriptor dog)
    {
        CurrencyData specialGift = getDogSpecialGiftChances(dog).GetRandom();

        if (specialGift is SouvenirData)
        {
            // Need to return the specific souvenir the dog owns
            return(dog.Souvenir);
        }
        else
        {
            SpecialGiftData gift = specialGift as SpecialGiftData;
            (gift as SpecialGiftData).SetFinder(dog);
            if (!checkSpecialGiftCanBeUsed(gift))
            {
                // Set to a default currency if the SpecialGift cannot be used
                specialGift = giftFactory.Create(defaultReturnChances.GetRandom(), randomAmount());
            }
            return(specialGift);
        }
    }
Example #2
0
    bool checkSpecialGiftCanBeUsed(SpecialGiftData specialGift)
    {
        bool invalidUse = specialGift is GiftEventData && !GiftDatabase.GetInstance.TryUseEvent(specialGift as GiftEventData);

        return(!invalidUse);
    }