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("???"); }
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); }
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); } }