private string GetRewardEntryDropTitle(Reward reward)
 {
     if (reward.getTotalDiamondAmount() > 0.0)
     {
         return(_.L(ConfigLoca.RESOURCES_DIAMONDS_MULTILINE, new < > __AnonType9 <string>(reward.getTotalDiamondAmount().ToString("0")), false));
     }
     if (reward.getTotalCoinAmount() > 0.0)
     {
         return(_.L(ConfigLoca.RESOURCES_COINS_MULTILINE, new < > __AnonType9 <string>(MenuHelpers.BigValueToString(reward.getTotalCoinAmount())), false));
     }
     if (reward.getTotalTokenAmount() > 0.0)
     {
         return(_.L(ConfigLoca.RESOURCES_TOKENS_MULTILINE, new < > __AnonType9 <string>(MenuHelpers.BigValueToString(reward.getTotalTokenAmount())), false));
     }
     if (reward.FrenzyPotions > 0)
     {
         return(_.L(ConfigLoca.VENDOR_FRENZY_POTIONS, new < > __AnonType9 <string>(MenuHelpers.BigValueToString((double)reward.FrenzyPotions)), false));
     }
     if (reward.Revives > 0)
     {
         return(_.L(ConfigLoca.VENDOR_REVIVES, new < > __AnonType9 <string>(MenuHelpers.BigValueToString((double)reward.Revives)), false));
     }
     if (reward.MegaBoxes > 0)
     {
         int megaBoxes = reward.MegaBoxes;
         return((megaBoxes != 1) ? _.L(ConfigLoca.VENDOR_MEGA_BOX_BUNDLE_PLURAL, new < > __AnonType9 <int>(megaBoxes), false) : _.L(ConfigLoca.VENDOR_MEGA_BOX_BUNDLE, new < > __AnonType9 <int>(megaBoxes), false));
     }
     if ((reward.Pets != null) && (reward.Pets.Count > 0))
     {
         PetReward reward2   = reward.Pets[0];
         object[]  objArray1 = new object[] { reward2.Amount, "\n", GameLogic.Binder.CharacterResources.getResource(reward2.PetId).Name, " shards" };
         return(string.Concat(objArray1));
     }
     return("???");
 }
Beispiel #2
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);
        }
        public override void Execute()
        {
            Reward item = new Reward();

            item.Pets = new List <PetReward>();
            if (App.Binder.ConfigMeta.IsActivePetId(this.m_id))
            {
                item.ChestType = ChestType.ServerGift;
                List <string> list = new List <string>();
                list.Add("PetBundleSmall");
                item.ShopEntryDrops = list;
                PetReward reward2 = new PetReward();
                reward2.PetId  = this.m_id;
                reward2.Amount = this.m_amount;
                item.Pets.Add(reward2);
                item.Sprite = "icon_" + this.m_id.ToLower();
            }
            List <Reward> rewards = new List <Reward>();

            rewards.Add(item);
            RewardHelper.ClaimReward(rewards, true);
        }
Beispiel #4
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);
            }
        }