Пример #1
0
        public static Reward GetRewardFromProductReward(ProductReward productReward, [Optional, DefaultParameterValue(null)] PremiumProduct product)
        {
            Reward reward = new Reward();
            string key    = productReward.key;
            int    amount = productReward.amount;

            if (key.Equals("Dragon01"))
            {
                key    = "Pet001";
                amount = 10;
            }
            if (key.Equals(ResourceType.Diamond.ToString()))
            {
                MathUtil.DistributeValuesIntoChunksInt(amount, 1, ref reward.DiamondDrops);
                reward.Sprite = (product == null) ? "icon_gem_pile2" : product.GetRewardIcon(key);
                return(reward);
            }
            if (key.Equals(ResourceType.Token.ToString()))
            {
                MathUtil.DistributeValuesIntoChunksInt(amount, 1, ref reward.TokenDrops);
                reward.Sprite = (product == null) ? "icon_token" : product.GetRewardIcon(key);
                return(reward);
            }
            if (App.Binder.ConfigMeta.IsActivePetId(key))
            {
                reward.ChestType = ChestType.NONE;
                List <string> list = new List <string>();
                list.Add("PetBundleSmall");
                reward.ShopEntryDrops = list;
                PetReward item = new PetReward();
                item.PetId  = key;
                item.Amount = amount;
                reward.Pets.Add(item);
                reward.Sprite = "icon_" + key.ToLower();
                return(reward);
            }
            if (key.Equals(ShopEntryType.MegaBoxBundle.ToString()))
            {
                reward.MegaBoxes = amount;
                reward.Sprite    = "icon_megabox_pile1";
                return(reward);
            }
            if (key.Equals(BuyableItemType.FrenzyPotion.ToString()))
            {
                reward.FrenzyPotions = amount;
                reward.Sprite        = (product == null) ? "icon_bottle_frenzy" : product.GetRewardIcon(key);
                return(reward);
            }
            if (key.Equals(BuyableItemType.RevivePotion.ToString()))
            {
                reward.Revives = amount;
                reward.Sprite  = (product == null) ? "icon_bottle_red" : product.GetRewardIcon(key);
                return(reward);
            }
            Debug.LogError("GetRewardFromProductReward::Unsupported resource id: " + key);
            return(reward);
        }
Пример #2
0
 public static List <ProductReward> GetRewardsFromProduct(PremiumProduct prod)
 {
     if (prod.flareProductId == IAP_STARTER_BUNDLE_ID)
     {
         Player player             = GameLogic.Binder.GameState.Player;
         List <ProductReward> list = new List <ProductReward>();
         ProductReward        item = new ProductReward();
         item.key    = ResourceType.Diamond.ToString();
         item.amount = (int)App.Binder.ConfigMeta.STARTER_BUNDLE_DIAMOND_COUNT;
         list.Add(item);
         item        = new ProductReward();
         item.key    = ResourceType.Token.ToString();
         item.amount = (int)App.Binder.ConfigMeta.TokenBundleSize(player, "TokenBundleDragon");
         list.Add(item);
         item        = new ProductReward();
         item.key    = BuyableItemType.Dragon01.ToString();
         item.amount = 1;
         list.Add(item);
         return(list);
     }
     return(prod.rewards);
 }
Пример #3
0
        public static void AddRewardsFromProduct(ref List <Reward> rewards, PremiumProduct product)
        {
            ShopEntry            shopEntryByFlareProductId = Service.Binder.ShopManager.GetShopEntryByFlareProductId(product.flareProductId);
            List <ProductReward> rewardsFromProduct        = GetRewardsFromProduct(product);

            for (int i = 0; i < rewardsFromProduct.Count; i++)
            {
                ProductReward reward = rewardsFromProduct[i];
                string        key    = reward.key;
                int           amount = reward.amount;
                Reward        item   = new Reward();
                item.ShopEntryId = product.flareProductId;
                if (key.Equals(ResourceType.Diamond.ToString()))
                {
                    item.Sprite = product.GetRewardIcon(key);
                    if (shopEntryByFlareProductId != null)
                    {
                        MathUtil.DistributeValuesIntoChunksInt(amount, shopEntryByFlareProductId.NumBursts, ref item.DiamondDrops);
                    }
                    else
                    {
                        MathUtil.DistributeValuesIntoChunksInt(amount, 1, ref item.DiamondDrops);
                    }
                }
                else if (key.Equals(ResourceType.Token.ToString()))
                {
                    item.Sprite = product.GetRewardIcon(key);
                    if (shopEntryByFlareProductId != null)
                    {
                        MathUtil.DistributeValuesIntoChunksInt(amount, shopEntryByFlareProductId.NumBursts, ref item.TokenDrops);
                    }
                    else
                    {
                        MathUtil.DistributeValuesIntoChunksInt(amount, 1, ref item.TokenDrops);
                    }
                }
                else if (key.Equals(BuyableItemType.Dragon01.ToString()))
                {
                    item.Sprite = (shopEntryByFlareProductId == null) ? product.GetRewardIcon(key) : shopEntryByFlareProductId.Sprite.SpriteId;
                }
                else if (App.Binder.ConfigMeta.IsActivePetId(key))
                {
                    PetReward reward3 = new PetReward();
                    reward3.PetId  = key;
                    reward3.Amount = amount;
                    item.Pets.Add(reward3);
                    item.Sprite = "icon_" + key.ToLower();
                }
                else if (key.Equals(ShopEntryType.MegaBoxBundle.ToString()))
                {
                    item.MegaBoxes = amount;
                    item.Sprite    = "icon_megabox_pile1";
                }
                else if (key.Equals(BuyableItemType.FrenzyPotion.ToString()))
                {
                    item.ShopEntryId   = null;
                    item.FrenzyPotions = amount;
                    item.Sprite        = (product == null) ? "icon_bottle_frenzy" : product.GetRewardIcon(key);
                }
                else if (key.Equals(BuyableItemType.RevivePotion.ToString()))
                {
                    item.ShopEntryId = null;
                    item.Revives     = amount;
                    item.Sprite      = (product == null) ? "icon_bottle_red" : product.GetRewardIcon(key);
                }
                else
                {
                    Debug.LogError("Unsupported resource id: " + key);
                }
                rewards.Add(item);
            }
        }