public void SetIAPRewardIcon(UXSprite iconSprite, string uid) { StaticDataController staticDataController = Service.StaticDataController; InAppPurchaseTypeVO inAppPurchaseTypeVO = staticDataController.Get <InAppPurchaseTypeVO>(uid); string rewardUid = string.Empty; if (Service.CurrentPlayer.Faction == FactionType.Empire) { rewardUid = inAppPurchaseTypeVO.RewardEmpire; } else { rewardUid = inAppPurchaseTypeVO.RewardRebel; } if (inAppPurchaseTypeVO.CurrencyType.Equals("hard") || inAppPurchaseTypeVO.CurrencyType.Equals("pack")) { UXUtils.SetupGeometryForIcon(iconSprite, inAppPurchaseTypeVO.CurrencyIconId); } else { RewardType rewardType = RewardType.Invalid; IGeometryVO config; Service.RewardManager.GetFirstRewardAssetName(rewardUid, ref rewardType, out config); RewardUtils.SetRewardIcon(iconSprite, config, AnimationPreference.NoAnimation); } }
private void InitRewardsGrid() { this.rewardsGrid = base.GetElement <UXGrid>("GridRewards"); this.rewardsGrid.SetTemplateItem("RewardItem"); RewardVO rewardVO = Service.StaticDataController.Get <RewardVO>(this.meta.Reward); List <RewardComponentTag> rewardComponents = RewardUtils.GetRewardComponents(rewardVO); for (int i = 0; i < rewardComponents.Count; i++) { RewardComponentTag rewardComponentTag = rewardComponents[i]; string itemUid = rewardVO.Uid + i; UXElement uXElement = this.rewardsGrid.CloneTemplateItem(itemUid); uXElement.Tag = rewardComponentTag; UXLabel subElement = this.rewardsGrid.GetSubElement <UXLabel>(itemUid, "LabelRewardCount"); subElement.Text = rewardComponentTag.Quantity; RewardType type = rewardComponentTag.Type; UXSprite subElement2; if (type != RewardType.Building && type != RewardType.Currency) { subElement2 = this.rewardsGrid.GetSubElement <UXSprite>(itemUid, "SpriteTroop"); } else { subElement2 = this.rewardsGrid.GetSubElement <UXSprite>(itemUid, "SpriteReward"); } RewardUtils.SetRewardIcon(subElement2, rewardComponentTag.RewardGeometryConfig, AnimationPreference.NoAnimation); this.rewardsGrid.AddItem(uXElement, rewardComponentTag.Order); this.rewardsGrid.RepositionItems(); this.rewardsGrid.Scroll(0.5f); } this.rewardsGrid.RepositionItems(); this.rewardsGrid.Scroll(0.5f); }
public List <DReward> GetRewards() { if (rewards == null) { rewards = RewardUtils.GetDRewardFromReward(definition.Reward.ToReward()); } return(rewards); }
private void checkRemainingXP() { if (currentMascotLevel < targetMacotLevel && ProgressionService.GetMascotLevelFromXP(currentMascotLevel) != Service.Get <ProgressionService>().MascotLevel(currentMascotName)) { Reward rewardForProgressionLevel = RewardUtils.GetRewardForProgressionLevel(Service.Get <ProgressionService>().Level); ShowRewardPopup pendingLevelUpPopup = new ShowRewardPopup.Builder(DRewardPopup.RewardPopupType.levelUp, rewardForProgressionLevel).setMascotName(currentMascotName).Build(); Service.Get <ProgressionService>().PendingLevelUpPopup = pendingLevelUpPopup; } }
private void loadRewardIcons(Reward reward, GameObject iconPrefab) { List <DReward> dRewardFromReward = RewardUtils.GetDRewardFromReward(reward); for (int i = 0; i < dRewardFromReward.Count; i++) { createRewardIcon(dRewardFromReward[i], iconPrefab); } }
public void AddChildRewards(List <RewardData> childRewards) { List <RewardData> rewardDataList = new List <RewardData>(childRewards); this.FixUpRewardOrigins(rewardDataList); foreach (RewardData data in rewardDataList) { RewardUtils.AddRewardDataToList(data, this.m_rewards); } }
static bool Prefix(ResearchManager __instance, ResearchProject project, Level ___level) { if (!Main.enabled || !Main.settings.ToggleRepeatResearch || !project.Definition.Repeatable) { return(true); } RewardUtils.GiveAllRewards(null, project.Definition.Rewards, ___level.Metagame, null); ___level.Notifications.Send(new NotificationResearchComplete(___level.Notifications.MessageDefinitions._researchCompleteMessage, project.Definition, ___level)); __instance.OnResearchProjectComplete.InvokeSafe(project); ___level.ObjectiveEvents.OnGameEvent.InvokeSafe(ObjectiveGameEvent.ResearchProjectCompleted); return(false); }
private void ShowLevelUp(int level) { Reward rewardForProgressionLevel = RewardUtils.GetRewardForProgressionLevel(level); ShowRewardPopup showRewardPopup = new ShowRewardPopup.Builder(DRewardPopup.RewardPopupType.levelUp, rewardForProgressionLevel).setMascotName(currentMascotName).Build(); if (!isLevelUpScreenSuppressed) { showRewardPopup.Execute(); } else { Service.Get <ProgressionService>().PendingLevelUpPopup = showRewardPopup; } }
private void InitMissionRewardsGrid(string rewardUid, int campaignPoints) { this.rewardsGrid = this.screen.GetElement <UXGrid>("MissionRewardsGrid"); this.rewardsGrid.Clear(); this.rewardsGrid.SetTemplateItem("MissionRewardsItem"); if (string.IsNullOrEmpty(rewardUid) && campaignPoints <= 0) { return; } if (campaignPoints > 0) { string itemUid = "RewardItem0"; UXElement item = this.rewardsGrid.CloneTemplateItem(itemUid); UXLabel subElement = this.rewardsGrid.GetSubElement <UXLabel>(itemUid, "LabelMissionReward"); subElement.Text = base.LangController.Get("CAMPAIGN_POINTS", new object[] { campaignPoints }); UXSprite subElement2 = this.rewardsGrid.GetSubElement <UXSprite>(itemUid, "SpriteMissionReward"); subElement2.Visible = true; subElement2.SpriteName = "icoCampaignPoints"; this.rewardsGrid.AddItem(item, 0); } else { RewardVO rewardVO = base.Sdc.Get <RewardVO>(rewardUid); List <RewardComponentTag> rewardComponents = RewardUtils.GetRewardComponents(rewardVO); int i = 0; int count = rewardComponents.Count; while (i < count) { string itemUid2 = "RewardItem" + i; RewardComponentTag rewardComponentTag = rewardComponents[i]; UXElement item2 = this.rewardsGrid.CloneTemplateItem(itemUid2); UXLabel subElement3 = this.rewardsGrid.GetSubElement <UXLabel>(itemUid2, "LabelMissionReward"); subElement3.Text = base.LangController.Get("CURRENCY_VALUE_NAME", new object[] { rewardComponentTag.Quantity, rewardComponentTag.RewardName }); UXSprite subElement4 = this.rewardsGrid.GetSubElement <UXSprite>(itemUid2, "SpriteMissionReward"); RewardUtils.SetRewardIcon(subElement4, rewardComponentTag.RewardGeometryConfig, AnimationPreference.NoAnimation); this.rewardsGrid.AddItem(item2, i); i++; } } this.rewardsGrid.RepositionItems(); this.rewardsGrid.Scroll(0.5f); }
private bool GetEquipmentShardUIInfoForCurrentItem(out int currentShardAmount, out int increasedShardAmount, out int shardsNeededForLevel, out bool showLevel, out EquipmentVO equipmentVoToDisplay) { currentShardAmount = 0; increasedShardAmount = 0; shardsNeededForLevel = 0; equipmentVoToDisplay = null; showLevel = false; CrateSupplyVO crateSupply = this.currentCrateItem.CrateSupply; if (crateSupply.Type != SupplyType.Shard) { return(false); } EquipmentVO equipment = this.currentCrateItem.Equipment; if (equipment == null) { return(false); } EquipmentUpgradeCatalog equipmentUpgradeCatalog = Service.EquipmentUpgradeCatalog; string equipmentID = equipment.EquipmentID; int num = (!this.shardsOriginal.ContainsKey(equipmentID)) ? 0 : this.shardsOriginal[equipmentID]; currentShardAmount = num; RewardVO reward = Service.InventoryCrateRewardController.GenerateRewardFromSupply(crateSupply, this.hq); int shardsRewarded = RewardUtils.GetShardsRewarded(reward); int num2 = num + shardsRewarded; increasedShardAmount = num2; EquipmentVO equipmentVO = equipment; showLevel = true; if (this.equipmentOriginal.ContainsKey(equipmentID)) { int num3 = this.equipmentOriginal[equipmentID]; int level = Mathf.Min(num3 + 1, equipmentUpgradeCatalog.GetMaxLevel(equipmentID).Lvl); equipmentVoToDisplay = equipmentUpgradeCatalog.GetByLevel(equipment, num3); equipmentVO = equipmentUpgradeCatalog.GetByLevel(equipmentVoToDisplay, level); } else { equipmentVoToDisplay = equipmentUpgradeCatalog.GetMinLevel(equipmentVO.EquipmentID); equipmentVO = equipmentVoToDisplay; showLevel = false; } shardsNeededForLevel = equipmentVO.UpgradeShards; return(true); }
private void OnProgressBarOver(UIEvent e) { if (this.m_rewardText != null) { this.ShowTooltip(); } else if (this.m_nextLevelReward != null) { RewardData reward = this.m_nextLevelReward.Reward; if (reward != null) { this.m_rewardText = RewardUtils.GetRewardText(reward); this.ShowTooltip(); } } }
public static bool TrySetupConflictEndedRewardView(List <string> rewardUids, UXLabel label, UXSprite sprite) { if (rewardUids == null || rewardUids.Count == 0) { return(false); } CrateVO optional = Service.Get <IDataController>().GetOptional <CrateVO>(rewardUids[0]); if (optional == null) { return(false); } string uid = optional.Uid; label.Text = LangUtils.GetCrateDisplayName(uid); RewardUtils.SetCrateIcon(sprite, optional, AnimState.Closed); return(true); }
private void addBreadCrumbsForReward <TItemDefinition, URewardable, VIdType>(Reward reward, PersistentBreadcrumbTypeDefinitionKey singleBreadcrumbId, StaticBreadcrumbDefinitionKey groupBreadcrumbId) where TItemDefinition : IMemberLocked where URewardable : AbstractListReward <VIdType> { if (reward.TryGetValue(out URewardable rewardable) && !rewardable.IsEmpty()) { bool flag = false; List <VIdType> list = (List <VIdType>)rewardable.Reward; foreach (VIdType item in list) { if (dataEntityCollection.IsLocalPlayerMember() || !RewardUtils.IsMemberLockableItemMemberOnly <TItemDefinition, VIdType>(item)) { notificationBreadcrumbController.AddPersistentBreadcrumb(singleBreadcrumbId, item.ToString()); flag = true; } } if (flag) { notificationBreadcrumbController.AddBreadcrumb(groupBreadcrumbId); } } }
protected override void OnScreenLoaded() { UXLabel element = base.GetElement <UXLabel>("LabelTitleRewardNotif"); element.Text = this.lang.Get("CRATE_REWARD_POPUP_TITLE", new object[0]); UXSprite element2 = base.GetElement <UXSprite>("SpriteReward"); RewardUtils.SetCrateIcon(element2, this.targetCrateVO, AnimState.Closed); string crateDisplayName = LangUtils.GetCrateDisplayName(this.targetCrateVO); UXLabel element3 = base.GetElement <UXLabel>("LabelRewardDescription"); element3.Text = this.lang.Get("CRATE_REWARD_POPUP_DESC", new object[] { crateDisplayName }); UXButton element4 = base.GetElement <UXButton>("BtnPrimary"); element4.OnClicked = new UXButtonClickedDelegate(this.OnPrimaryButtonClicked); UXLabel element5 = base.GetElement <UXLabel>("LabelBtnPrimary"); element5.Text = this.lang.Get("CRATE_REWARD_POPUP_CTA", new object[0]); this.InitButtons(); }
private void UpdateElements() { IDataController dataController = Service.Get <IDataController>(); if (this.currentOffer != null) { UXLabel element = base.GetElement <UXLabel>("LabelTitle"); element.Text = this.lang.Get(this.currentOffer.Title, new object[0]); UXLabel element2 = base.GetElement <UXLabel>("LabelDescription"); element2.Text = this.lang.Get(this.currentOffer.ConfirmationString, new object[0]); int i = 0; int count = this.currentOffer.RewardUIDs.Count; while (i < count) { RewardVO rewardVO = dataController.Get <RewardVO>(this.currentOffer.RewardUIDs[i]); if (!RewardUtils.SetupTargetedOfferCrateRewardDisplay(rewardVO, this.itemLabels[i], this.itemSprites[i])) { List <RewardComponentTag> rewardComponents = RewardUtils.GetRewardComponents(rewardVO); int j = 0; int count2 = rewardComponents.Count; while (j < count2) { RewardComponentTag rewardComponentTag = rewardComponents[j]; this.itemLabels[i].Text = this.lang.Get("AMOUNT_AND_NAME", new object[] { rewardComponentTag.RewardName, rewardComponentTag.Quantity }); RewardUtils.SetRewardIcon(this.itemSprites[i], rewardComponentTag.RewardGeometryConfig, AnimationPreference.NoAnimation); j++; } } i++; } this.confirmButton.Tag = this.currentOffer; } }
public void HandleReceiptVerificationResponse(string uid, string transactionId, string currencyCode, double price, double bonusMultiplier, bool isPromo, string offerUid, CrateData crateData) { CurrentPlayer currentPlayer = Service.CurrentPlayer; StaticDataController staticDataController = Service.StaticDataController; InAppPurchaseTypeVO inAppPurchaseTypeVO = staticDataController.Get <InAppPurchaseTypeVO>(uid); if (inAppPurchaseTypeVO.IsPromo) { isPromo = true; } bool flag = !string.IsNullOrEmpty(offerUid); string text = inAppPurchaseTypeVO.RewardEmpire; if (currentPlayer.Faction == FactionType.Rebel) { text = inAppPurchaseTypeVO.RewardRebel; } if (string.IsNullOrEmpty(text) && !flag) { Service.Logger.Error("MoneyReceiptVerifyResponse:" + inAppPurchaseTypeVO.Uid + " faction specific reward uids do not exist"); return; } bool flag2 = false; TargetedBundleVO targetedBundleVO = null; if (flag) { targetedBundleVO = staticDataController.GetOptional <TargetedBundleVO>(offerUid); if (targetedBundleVO != null) { Service.TargetedBundleController.GrantTargetedBundleRewards(targetedBundleVO); flag2 = true; } else { Service.Logger.Error("MoneyReceiptVerifyResponse: targeted offer " + offerUid + " does not exist"); } } else { RewardVO optional = staticDataController.GetOptional <RewardVO>(text); if (optional == null) { Service.Logger.Error("MoneyReceiptVerifyResponse:" + text + " does not exist"); } else if (inAppPurchaseTypeVO.CurrencyType.Equals("hard")) { RewardUtils.GrantReward(currentPlayer, optional, bonusMultiplier); } else { RewardUtils.GrantInAppPurchaseRewardToHQInventory(optional); } } if (inAppPurchaseTypeVO.ProductId.Contains("promo")) { isPromo = true; } int amount; if (inAppPurchaseTypeVO.CurrencyType.Equals("hard")) { amount = (int)Math.Floor(bonusMultiplier * (double)inAppPurchaseTypeVO.Amount); } else { amount = inAppPurchaseTypeVO.Amount; } this.Consume(inAppPurchaseTypeVO.ProductId); string text2 = uid; bool flag3 = false; SaleTypeVO currentActiveSale = SaleUtils.GetCurrentActiveSale(); if (currentActiveSale != null && !isPromo) { text2 = text2 + "_" + currentActiveSale.Uid; } if (isPromo) { text2 += "_promo"; flag3 = true; } if (GameConstants.IAP_FORCE_POPUP_ENABLED) { flag3 = true; } if (flag2) { Service.TargetedBundleController.HandleTargetedOfferSuccess(crateData, targetedBundleVO); } else if (flag3) { this.ShowRedemptionScreen(amount, uid); Service.EventManager.SendEvent(EventId.InAppPurchaseMade, null); } Service.DMOAnalyticsController.LogPaymentAction(currencyCode, price, inAppPurchaseTypeVO.ProductId, 1, text2); }
public void InitCampaignGrid() { this.screen.CurrentBackButton = this.backButtonChapter; this.screen.CurrentBackDelegate = new UXButtonClickedDelegate(this.OnBackButtonClicked); this.campaignSelectGroup.Visible = true; if (this.campaignGroupInitialized) { return; } this.campaignGroupInitialized = true; this.campaignGrid = this.screen.GetElement <UXGrid>("CampaignGrid"); this.campaignGrid.SetTemplateItem("CampaignTemplate"); foreach (CampaignVO current in base.Sdc.GetAll <CampaignVO>()) { if (!current.Timed && current.Faction == base.Player.Faction) { string uid = current.Uid; UXElement uXElement = this.campaignGrid.CloneTemplateItem(uid); uXElement.Tag = current; int totalCampaignStarsEarned = base.Player.CampaignProgress.GetTotalCampaignStarsEarned(current); int totalMasteryStars = current.TotalMasteryStars; UXLabel subElement = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelCampaignName"); subElement.Text = LangUtils.GetCampaignTitle(current); UXLabel subElement2 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelChapterDescription"); subElement2.Text = LangUtils.GetCampaignDescription(current); UXLabel subElement3 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelStarsCount"); subElement3.Text = base.LangController.Get("LABEL_CAMPAIGN_STARS", new object[] { totalCampaignStarsEarned, totalMasteryStars }); UXButton subElement4 = this.campaignGrid.GetSubElement <UXButton>(uid, "ButtonCampaignCard"); subElement4.Tag = current; subElement4.OnClicked = new UXButtonClickedDelegate(this.OnCampaignItemButtonClicked); UXTexture subElement5 = this.campaignGrid.GetSubElement <UXTexture>(uid, "SpriteCampaignImage"); subElement5.LoadTexture(current.Uid); if (!base.Player.CampaignProgress.HasCampaign(current)) { subElement4.Enabled = false; } UXSprite subElement6 = this.campaignGrid.GetSubElement <UXSprite>(uid, "SpriteIcoChapterLocked"); subElement6.Visible = !subElement4.Enabled; UXLabel subElement7 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelChapterNumberSelect"); this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelChapterReward").Text = base.LangController.Get("s_Rewards", new object[0]); subElement7.Text = base.LangController.Get("CHAPTER_NUMBER", new object[] { current.UnlockOrder }); UXLabel subElement8 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelObjectivesCount"); UXLabel subElement9 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelCampaignComplete"); UXSprite subElement10 = this.campaignGrid.GetSubElement <UXSprite>(uid, "SpriteIconCheck"); UXLabel subElement11 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelUnlocks"); UXSprite subElement12 = this.campaignGrid.GetSubElement <UXSprite>(uid, "SpriteChapterRewardItem"); UXLabel subElement13 = this.campaignGrid.GetSubElement <UXLabel>(uid, "LabelChapterRewarded"); int totalCampaignMissionsCompleted = base.Player.CampaignProgress.GetTotalCampaignMissionsCompleted(current); int totalMissions = current.TotalMissions; IGeometryVO config = null; RewardType rewardType = RewardType.Invalid; base.RManager.GetFirstRewardAssetName(current.Reward, ref rewardType, out config); RewardUtils.SetRewardIcon(subElement12, config, AnimationPreference.NoAnimation); if (totalCampaignMissionsCompleted > 0 && totalCampaignMissionsCompleted == totalMissions) { subElement8.Visible = false; subElement9.Text = base.LangController.Get("LABEL_CAMPAIGN_COMPLETE", new object[0]); subElement11.Text = base.RManager.GetRewardString(current.Reward); bool flag = totalCampaignStarsEarned >= totalMasteryStars; subElement13.Visible = flag; subElement12.Visible = !flag; subElement11.Visible = !flag; } else { subElement9.Visible = false; subElement10.Visible = false; subElement8.Text = base.LangController.Get("LABEL_CAMPAIGN_MISSIONS", new object[] { totalCampaignMissionsCompleted, totalMissions }); subElement11.Text = base.RManager.GetRewardString(current.Reward); } UXSlider subElement14 = this.campaignGrid.GetSubElement <UXSlider>(uid, "ChapterPbar"); subElement14.Value = ((totalMissions != 0) ? ((float)totalCampaignMissionsCompleted / (float)totalMissions) : 0f); this.campaignGrid.AddItem(uXElement, current.UnlockOrder); } } this.campaignGrid.RepositionItems(); }
private void AddTier(TournamentTierVO tierVO, bool isCurrent, int order, Dictionary <string, TournamentRewardsVO> tierRewardMap) { if (!tierRewardMap.ContainsKey(tierVO.Uid)) { Service.Get <StaRTSLogger>().ErrorFormat("There is no reward found for tier {0}", new object[] { tierVO.Uid }); return; } string uid = tierVO.Uid; UXElement item = this.tierGrid.CloneTemplateItem(uid); UXElement subElement = this.tierGrid.GetSubElement <UXElement>(uid, "CurrentLeague"); subElement.Visible = isCurrent; if (isCurrent && this.currentPlayerRank != null) { string id = (TimedEventUtils.GetState(this.currentTournamentVO) == TimedEventState.Live) ? "CONFLICT_CURRENT_PERCENTILE" : "CONFLICT_FINAL_PERCENTILE"; UXLabel subElement2 = this.tierGrid.GetSubElement <UXLabel>(uid, "LabelCurrentLeague"); subElement2.Text = this.lang.Get(id, new object[] { Math.Round(this.currentPlayerRank.Percentile, 2) }); } float percentage = tierVO.Percentage; UXLabel subElement3 = this.tierGrid.GetSubElement <UXLabel>(uid, "LabelRequirements"); if (percentage < 100f) { subElement3.Text = this.lang.Get("CONFLICT_TIER_REQ_PERCENTAGE", new object[] { percentage }); } else { subElement3.Text = this.lang.Get("CONFLICT_TIER_REQ_ANY", new object[0]); } UXLabel subElement4 = this.tierGrid.GetSubElement <UXLabel>(uid, "LabelLeagueLevel"); subElement4.Text = this.lang.Get(tierVO.RankName, new object[0]); if (tierVO.Division != null) { string text = this.lang.Get(tierVO.Division, new object[0]); if (!string.IsNullOrEmpty(text) && text.Trim().get_Length() != 0) { UXLabel expr_1A0 = subElement4; expr_1A0.Text = expr_1A0.Text + " - " + text; } } UXSprite subElement5 = this.tierGrid.GetSubElement <UXSprite>(uid, "SpriteLeagueIcon"); subElement5.SpriteName = Service.Get <TournamentController>().GetTierIconName(tierVO); TournamentRewardsVO tournamentRewardsVO = tierRewardMap[tierVO.Uid]; UXGrid subElement6 = this.tierGrid.GetSubElement <UXGrid>(uid, "GridRewardCards"); StringBuilder stringBuilder = new StringBuilder(" ("); stringBuilder.Append(uid); stringBuilder.Append(")"); string text2 = stringBuilder.ToString(); subElement6.SetTemplateItem("EquipmentItemCard" + text2); CrateVO optional = Service.Get <IDataController>().GetOptional <CrateVO>(tournamentRewardsVO.CrateRewardIds[0]); if (optional != null) { IDataController dataController = Service.Get <IDataController>(); List <CrateFlyoutItemVO> list = new List <CrateFlyoutItemVO>(); CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>(); string[] array = (currentPlayer.Faction == FactionType.Empire) ? optional.FlyoutEmpireItems : optional.FlyoutRebelItems; if (array != null) { int i = 0; int num = array.Length; while (i < num) { string text3 = array[i]; CrateFlyoutItemVO optional2 = dataController.GetOptional <CrateFlyoutItemVO>(text3); if (optional2 == null) { Service.Get <StaRTSLogger>().ErrorFormat("CrateInfoModalScreen: FlyoutItemVO Uid {0} not found", new object[] { text3 }); } else { bool flag = UXUtils.ShouldDisplayCrateFlyoutItem(optional2, CrateFlyoutDisplayType.TournamentTier); if (flag) { PlanetVO optional3 = dataController.GetOptional <PlanetVO>(this.currentTournamentVO.PlanetId); int currentHqLevel = currentPlayer.Map.FindHighestHqLevel(); bool flag2 = UXUtils.IsValidRewardItem(optional2, optional3, currentHqLevel); if (flag2 && (!optional2.ReqArmory || ArmoryUtils.PlayerHasArmory()) && list.Count <= 5) { list.Add(optional2); string uid2 = optional2.Uid; UXElement uXElement = subElement6.CloneTemplateItem(uid2); this.SetupCrateReward(uid2, tournamentRewardsVO, subElement6, uXElement, text2, optional2); subElement6.AddItem(uXElement, i); } } } i++; } } else { Service.Get <StaRTSLogger>().ErrorFormat("There is no crate data for {0}", new object[] { tournamentRewardsVO.CrateRewardIds[0] }); } UXSprite subElement7 = subElement6.GetSubElement <UXSprite>(uid, "SpriteSupplyPrize"); RewardUtils.SetCrateIcon(subElement7, optional, AnimState.Closed); UXButton subElement8 = subElement6.GetSubElement <UXButton>(uid, "BtnConflictPrize"); subElement8.OnClicked = new UXButtonClickedDelegate(this.OnCrateClicked); subElement8.Tag = optional.Uid; UXLabel subElement9 = subElement6.GetSubElement <UXLabel>(uid, "LabelPrize"); subElement9.Text = this.lang.Get("CONFLICT_PRIZE_CRATE", new object[] { LangUtils.GetCrateDisplayName(optional) }); UXLabel subElement10 = subElement6.GetSubElement <UXLabel>(uid, "LabelPrizeNumber"); if (tournamentRewardsVO.CrateRewardIds.Length > 1) { subElement10.Text = this.lang.Get("CONFLICT_PRIZE_CRATE_MULTIPLIER", new object[] { tournamentRewardsVO.CrateRewardIds.Length }); } else { subElement10.Visible = false; subElement6.GetSubElement <UXElement>(uid, "SpritePrizeNumberShadow").Visible = false; } } this.tierGrid.AddItem(item, order); }
private UXElement CreateInventoryGridItem(string id, PrizeType prizeType, string title, string description, int count, IGeometryVO vo, int quality) { PrizeInventoryItemTag prizeInventoryItemTag = new PrizeInventoryItemTag(); UXElement uXElement = this.itemGrid.CloneTemplateItem(id); prizeInventoryItemTag.TileElement = uXElement; prizeInventoryItemTag.PrizeID = id; prizeInventoryItemTag.PrizeType = prizeType; uXElement.Tag = prizeInventoryItemTag; this.SetupGridItemQuality(id, quality); prizeInventoryItemTag.MainElement = this.itemGrid.GetSubElement <UXElement>(id, "ItemInfo"); UXLabel subElement = this.itemGrid.GetSubElement <UXLabel>(id, "LabelName"); subElement.Text = title; UXButton subElement2 = this.itemGrid.GetSubElement <UXButton>(id, "BtnItemInfo"); prizeInventoryItemTag.InfoLabel = this.itemGrid.GetSubElement <UXLabel>(id, "LabelItemInfo"); if (!string.IsNullOrEmpty(description) && prizeType != PrizeType.None) { prizeInventoryItemTag.InfoLabel.Text = description; subElement2.Visible = true; subElement2.OnClicked = new UXButtonClickedDelegate(this.OnInfoButtonClicked); subElement2.Tag = prizeInventoryItemTag; } else { subElement2.Visible = false; } prizeInventoryItemTag.CountLabel = this.itemGrid.GetSubElement <UXLabel>(id, "LabelItemCount"); UXSprite subElement3 = this.itemGrid.GetSubElement <UXSprite>(id, "SpriteItemImage"); if (prizeType == PrizeType.None) { RewardUtils.SetCrateIcon(subElement3, (CrateVO)vo, AnimState.Idle); } else if (prizeType == PrizeType.Crate) { RewardUtils.SetCrateIcon(subElement3, (CrateVO)vo, AnimState.Closed); } else { RewardUtils.SetRewardIcon(subElement3, vo, AnimationPreference.NoAnimation); } prizeInventoryItemTag.IconAssetName = vo.IconAssetName; UXButton subElement4 = this.itemGrid.GetSubElement <UXButton>(id, "InventoryCard"); subElement4.OnClicked = new UXButtonClickedDelegate(this.OnTileClicked); subElement4.Tag = prizeInventoryItemTag; this.itemGrid.GetSubElement <UXElement>(id, "CountAndBuildTime").Visible = true; this.itemGrid.GetSubElement <UXElement>(id, "ContainerJewelNew").Visible = false; UXLabel subElement5 = this.itemGrid.GetSubElement <UXLabel>(id, "LabelItemExpiration"); UXLabel subElement6 = this.itemGrid.GetSubElement <UXLabel>(id, "LabelCurrencyAmount"); subElement6.Visible = false; if (prizeType == PrizeType.None) { prizeInventoryItemTag.CountLabel.Visible = false; subElement5.Visible = false; subElement6.Text = description; subElement6.Visible = true; } else if (prizeType == PrizeType.Crate) { prizeInventoryItemTag.CountLabel.Visible = false; CrateData crateData = this.cp.Prizes.Crates.Available[id]; subElement5.Visible = true; UXUtils.SetCrateExpirationTimerLabel(crateData, subElement5, this.lang); if (!string.IsNullOrEmpty(crateData.PlanetId)) { PlanetVO planetVO = Service.StaticDataController.Get <PlanetVO>(crateData.PlanetId); UXTexture subElement7 = this.itemGrid.GetSubElement <UXTexture>(id, "TexturePlanet"); subElement7.LoadTexture(planetVO.LeaderboardTileTexture); } if (this.crateTabLastViewedTime < crateData.ReceivedTimeStamp) { this.itemGrid.GetSubElement <UXElement>(id, "ContainerJewelNew").Visible = true; this.itemGrid.GetSubElement <UXLabel>(id, "LabelMessageCountNew").Text = this.lang.Get("CRATE_INVENTORY_CRATE_NEW_BADGE", new object[0]); } subElement4.Tag = prizeInventoryItemTag; } else { prizeInventoryItemTag.CountLabel.Text = string.Format("x{0}", count); prizeInventoryItemTag.CountLabel.Visible = true; subElement5.Visible = false; } this.itemGrid.GetSubElement <UXLabel>(id, "LabelItemInfo").Visible = false; this.itemGrid.GetSubElement <UXLabel>(id, "LabelItemRequirement").Visible = false; this.itemGrid.GetSubElement <UXSprite>(id, "SpriteItemTimeIcon").Visible = false; this.itemGrid.GetSubElement <UXLabel>(id, "LabelBuildTime").Visible = false; uXElement.Tag = prizeInventoryItemTag; return(uXElement); }
protected override void OnScreenLoaded() { base.InitAnimator(); string crateDisplayName = LangUtils.GetCrateDisplayName(this.targetCrateVO); UXLabel element = base.GetElement <UXLabel>("LabelCrateTitle"); element.Text = crateDisplayName; UXSprite element2 = base.GetElement <UXSprite>("SpriteCrateImage"); RewardUtils.SetCrateIcon(element2, this.targetCrateVO, AnimState.Idle); UXLabel element3 = base.GetElement <UXLabel>("LabelRewardsListTitle"); element3.Text = this.lang.Get("CRATE_FLYOUT_LIST_TITLE", new object[0]); UXButton element4 = base.GetElement <UXButton>("BtnCloseCrateInfo"); element4.OnClicked = new UXButtonClickedDelegate(this.OnCloseCrateInfoButtonClicked); UXLabel element5 = base.GetElement <UXLabel>("LabelCratePullAmt"); int num = this.targetCrateVO.SupplyPoolUIDs.Length; element5.Text = this.lang.Get("CRATE_FLYOUT_REWARD_COUNT", new object[] { num }); UXElement element6 = base.GetElement <UXElement>("ContainerCrateCircle"); UXElement element7 = base.GetElement <UXElement>("ContainerCrateCircleSpecial"); element7.Visible = (this.targetLEIVO != null); element6.Visible = !element7.Visible; this.labelRewardType = base.GetElement <UXLabel>("LabelRewardTypePreview"); this.InitPlanetUI(); this.InitExpirationLabel(); this.labelRewardChance = base.GetElement <UXLabel>("LabelChanceTitle"); this.labelRewardName = base.GetElement <UXLabel>("LabelRewardNamePreview"); this.labelRewardAmt = base.GetElement <UXLabel>("LabelRewardAmt"); this.spriteRewardIcon = base.GetElement <UXSprite>("SpriteRewardIcon"); this.spriteRewardImage = base.GetElement <UXSprite>("SpriteRewardItemImage"); this.btnCurrencyLabel = base.GetElement <UXLabel>("LabelBtnPayCenteredCurrency"); this.btnCurrencySprite = base.GetElement <UXSprite>("SpriteBtnPayCenteredCurrency"); this.discountGroup = base.GetElement <UXElement>("GroupDiscountBadge"); this.discountGroup.Visible = false; this.InitRewardsGrid(); base.SetTrigger("Show"); if (this.filteredFlyoutItems.Count > 0) { this.SelectRowItemAtIndex(0); this.AutoScrollFlyoutRowItem(); } if (this.ModalReason == CrateInfoReason.Reason_Targeted_Offer) { this.SetupTargetedOfferElements(); this.discountGroup.Visible = true; UXLabel element8 = base.GetElement <UXLabel>("LabelValueStatement"); UXLabel element9 = base.GetElement <UXLabel>("LabelValueStatement2"); element8.Text = this.lang.Get("PERCENTAGE", new object[] { this.CurrentOffer.Discount.ToString() }); element9.Text = this.lang.Get("TARGETED_BUNDLE_DISCOUNT", new object[0]); } this.InitCTAUI(); Service.Get <EventManager>().SendEvent(EventId.ObjectiveCrateInfoScreenOpened, null); }
public async Task <IActionResult> Post(int x, int y) { string authtoken = User.FindFirstValue(ClaimTypes.NameIdentifier); var stream = new StreamReader(Request.Body); var body = await stream.ReadToEndAsync(); var req = JsonConvert.DeserializeObject <TappableRequest>(body); Random random = new Random(); var type = StateSingleton.Instance.activeTappableTypes[req.id]; List <List <string> > availableDropSets = null; try { availableDropSets = StateSingleton.Instance.tappableData[type]; } catch (Exception e) { Log.Error("[Tappables] no json file for tappable type" + type + " exists in data/tappables. Using backup of dirt (f0617d6a-c35a-5177-fcf2-95f67d79196d)"); availableDropSets = new List <List <string> >(); availableDropSets.Add(new List <string>() { "f0617d6a-c35a-5177-fcf2-95f67d79196d" }); //dirt for you... sorry :/ } if (availableDropSets == null) { Log.Error($"[Tappables] No drop sets for {type}!"); } var targetDropSet = availableDropSets[random.Next(0, availableDropSets.Count)]; if (targetDropSet == null) { Log.Error($"[Tappables] targetDropSet is null! Available drop set count was {availableDropSets.Count}"); } var rewards = new RewardComponent[targetDropSet.Count]; for (int i = 0; i < targetDropSet.Count; i++) { rewards[i] = new RewardComponent() { Amount = random.Next(1, 3), Id = new Guid(targetDropSet[i]) }; } var response = new TappableResponse() { result = new TappableResponse.Result() { token = new Token() { clientProperties = new Dictionary <string, string>(), clientType = "redeemtappable", lifetime = "Persistent", rewards = new Rewards() { ExperiencePoints = 400, Inventory = rewards } } } }; response.updates = RewardUtils.RedeemRewards(authtoken, response.result.token.rewards); response.result.updates = response.updates; return(Content(JsonConvert.SerializeObject(response), "application/json")); }
public static void TrySetupConflictItemRewardView(TournamentRewardsVO rewardGroup, UXLabel prizeLabel, UXSprite iconSprite, UXSprite crateSprite, UXElement basicElement, UXElement advancedElement, UXElement eliteElement, UXLabel crateCountLabel, UXSprite dataFragIcon, UXLabel optionalUnitName) { IDataController dataController = Service.Get <IDataController>(); CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>(); string text = string.Empty; FactionType faction = currentPlayer.Faction; if (faction != FactionType.Empire) { if (faction == FactionType.Rebel) { text = rewardGroup.RebelGuaranteedReward; } } else { text = rewardGroup.EmpireGuaranteedReward; } CrateSupplyVO optional = dataController.GetOptional <CrateSupplyVO>(text); Lang lang = Service.Get <Lang>(); if (optional != null) { UXUtils.TrySetupItemQualityView(optional, basicElement, advancedElement, eliteElement, null); int num = currentPlayer.Map.FindHighestHqLevel(); IGeometryVO iconVOFromCrateSupply = GameUtils.GetIconVOFromCrateSupply(optional, num); if (iconVOFromCrateSupply != null) { ProjectorConfig projectorConfig = ProjectorUtils.GenerateGeometryConfig(iconVOFromCrateSupply, iconSprite, true); projectorConfig.AnimPreference = AnimationPreference.AnimationPreferred; ProjectorUtils.GenerateProjector(projectorConfig); } else { Service.Get <StaRTSLogger>().ErrorFormat("Could not generate geometry for crate supply {0}", new object[] { optional.Uid }); } if (iconVOFromCrateSupply != null) { int shardQualityNumeric = GameUtils.GetShardQualityNumeric(optional); if (shardQualityNumeric > -1) { dataFragIcon.SpriteName = string.Format("icoDataFragQ{0}", new object[] { shardQualityNumeric }); dataFragIcon.Visible = true; } else { dataFragIcon.Visible = false; } } InventoryCrateRewardController inventoryCrateRewardController = Service.Get <InventoryCrateRewardController>(); int rewardAmount = inventoryCrateRewardController.GetRewardAmount(optional, num); if (rewardAmount > 1) { string text2 = lang.ThousandsSeparated(rewardAmount); prizeLabel.Text = lang.Get("CONFLICT_PRIZE_CRATE_MULTIPLIER", new object[] { text2 }); } else { prizeLabel.Visible = false; } if (optionalUnitName != null) { optionalUnitName.Text = inventoryCrateRewardController.GetCrateSupplyRewardName(optional); } } else { Service.Get <StaRTSLogger>().ErrorFormat("Could not find crate supply {0} for faction {1}", new object[] { text, currentPlayer.Faction }); } if (crateCountLabel != null) { crateCountLabel.Visible = false; } string[] crateRewardIds = rewardGroup.CrateRewardIds; CrateVO crateVO = null; if (crateRewardIds != null) { if (crateRewardIds.Length != 0) { crateVO = dataController.GetOptional <CrateVO>(rewardGroup.CrateRewardIds[0]); } if (crateCountLabel != null && crateRewardIds.Length > 1) { crateCountLabel.Visible = true; crateCountLabel.Text = lang.Get("CONFLICT_PRIZE_CRATE_MULTIPLIER", new object[] { crateRewardIds.Length }); } } if (crateVO != null) { RewardUtils.SetCrateIcon(crateSprite, crateVO, AnimState.Idle); return; } Service.Get <StaRTSLogger>().ErrorFormat("Missing crate reward meta data for tournament reward:{0}", new object[] { rewardGroup.Uid }); }
public void InitCampaignDetailScreen() { UXLabel element = this.screen.GetElement <UXLabel>("LabelCampaignDescription"); element.Text = LangUtils.GetCampaignDescription(this.selectedCampaign); this.campaignDescriptionGroup = this.screen.GetElement <UXElement>("ContainerChapterDescription"); this.campaignDescriptionGroup.Visible = false; UXButton element2 = this.screen.GetElement <UXButton>("BtnChapterInfo"); element2.OnClicked = new UXButtonClickedDelegate(this.OnCampaignInfoButtonClicked); UXLabel element3 = this.screen.GetElement <UXLabel>("LabelCampaigns"); element3.Text = base.LangController.Get("s_ViewAllChapters", new object[0]); UXLabel element4 = this.screen.GetElement <UXLabel>("LabelDetailsTitle"); element4.Text = LangUtils.GetCampaignTitle(this.selectedCampaign); this.missionCountdown = this.screen.GetElement <UXLabel>("Countdown"); this.missionCountdown.Visible = false; UXButton element5 = this.screen.GetElement <UXButton>("BtnViewCampaignRewards"); element5.Visible = false; this.campaignDetailsTimeLeft = this.screen.GetElement <UXElement>("CampaignDetailsTimeLeft"); this.campaignDetailsTimeLeft.Visible = false; int totalCampaignStarsEarned = base.Player.CampaignProgress.GetTotalCampaignStarsEarned(this.selectedCampaign); UXLabel element6 = this.screen.GetElement <UXLabel>("LabelStarsCountDetails"); element6.Text = base.LangController.Get("LABEL_CAMPAIGN_STARS", new object[] { totalCampaignStarsEarned, this.selectedCampaign.TotalMasteryStars }); UXSprite element7 = this.screen.GetElement <UXSprite>("SpriteMasteryReward"); RewardType rewardType = RewardType.Invalid; IGeometryVO config; base.RManager.GetFirstRewardAssetName(this.selectedCampaign.Reward, ref rewardType, out config); RewardUtils.SetRewardIcon(element7, config, AnimationPreference.NoAnimation); int totalCampaignMissionsCompleted = base.Player.CampaignProgress.GetTotalCampaignMissionsCompleted(this.selectedCampaign); UXLabel element8 = this.screen.GetElement <UXLabel>("LabelObjectivesCount"); element8.Text = base.LangController.Get("LABEL_CAMPAIGN_DETAIL_MISSIONS", new object[] { totalCampaignMissionsCompleted, this.selectedCampaign.TotalMissions }); UXLabel element9 = this.screen.GetElement <UXLabel>("LabelUnlocksDetails"); if (totalCampaignMissionsCompleted > 0 && totalCampaignMissionsCompleted == this.selectedCampaign.TotalMissions) { element9.Text = base.RManager.GetRewardString(this.selectedCampaign.Reward); if (totalCampaignStarsEarned == this.selectedCampaign.TotalMasteryStars) { element9.TextColor = PlanetDetailsMissionViewModule.COMPLETION_COLOR; } } else { element9.Text = base.RManager.GetRewardString(this.selectedCampaign.Reward); } UXTexture element10 = this.screen.GetElement <UXTexture>("SpriteCampaignImageLarge"); element10.LoadTexture(this.selectedCampaign.Uid); this.screen.GetElement <UXElement>("MasteryProgress").Visible = true; this.screen.GetElement <UXElement>("MasteryReward").Visible = true; this.allChaptersButton.Visible = true; this.InitMissionGrid(); }
private void addBreadcrumbsForReward(Reward reward) { addBreadCrumbsForReward <PropDefinition, DurableReward, int>(reward, breadcrumbIdentifiers.GearType, breadcrumbIdentifiers.Gear); addBreadCrumbsForReward <TemplateDefinition, EquipmentTemplateReward, int>(reward, breadcrumbIdentifiers.TemplateType, breadcrumbIdentifiers.Template); addBreadCrumbsForReward <FabricDefinition, FabricReward, int>(reward, breadcrumbIdentifiers.FabricType, breadcrumbIdentifiers.Fabric); addBreadCrumbsForReward <DecalDefinition, DecalReward, int>(reward, breadcrumbIdentifiers.DecalType, breadcrumbIdentifiers.Decal); addBreadCrumbsForReward <TubeDefinition, TubeReward, int>(reward, breadcrumbIdentifiers.TubeType, breadcrumbIdentifiers.Tube); addBreadCrumbsForReward <DecorationDefinition, DecorationReward, int>(reward, breadcrumbIdentifiers.DecorationType, breadcrumbIdentifiers.Decoration); addBreadCrumbsForReward <StructureDefinition, StructureReward, int>(reward, breadcrumbIdentifiers.StructureType, breadcrumbIdentifiers.Structure); addBreadCrumbsForReward <MusicTrackDefinition, MusicTrackReward, int>(reward, breadcrumbIdentifiers.MusicTrackType, breadcrumbIdentifiers.MusicTrack); addBreadCrumbsForReward <LightingDefinition, LightingReward, int>(reward, breadcrumbIdentifiers.LightingType, breadcrumbIdentifiers.Lighting); if (reward.TryGetValue(out EquipmentInstanceReward rewardable) && !rewardable.IsEmpty()) { bool flag = false; for (int i = 0; i < rewardable.EquipmentInstances.Count; i++) { if (dataEntityCollection.IsLocalPlayerMember() || !RewardUtils.IsMemberLockableItemMemberOnly <TemplateDefinition, int>(rewardable.EquipmentInstances[i].definitionId)) { NotificationBreadcrumbController obj = notificationBreadcrumbController; PersistentBreadcrumbTypeDefinitionKey inventoryType = breadcrumbIdentifiers.InventoryType; long equipmentId = rewardable.EquipmentInstances[i].equipmentId; obj.AddPersistentBreadcrumb(inventoryType, equipmentId.ToString()); flag = true; } } if (flag) { notificationBreadcrumbController.AddBreadcrumb(breadcrumbIdentifiers.Inventory); } } if (!reward.TryGetValue(out ConsumableInstanceReward rewardable2) || rewardable2.IsEmpty()) { return; } Dictionary <string, int> .Enumerator enumerator = rewardable2.Consumables.GetEnumerator(); bool flag2 = false; bool flag3 = false; while (enumerator.MoveNext()) { if (dataEntityCollection.IsLocalPlayerMember() || !RewardUtils.IsMemberLockableItemMemberOnly <PropDefinition, int>(RewardUtils.GetConsumableIdByServerName(enumerator.Current.Key))) { PersistentBreadcrumbTypeDefinitionKey type; if (RewardUtils.IsConsumablePartyGame(enumerator.Current.Key)) { type = breadcrumbIdentifiers.PartyGameType; flag3 = true; } else { type = breadcrumbIdentifiers.ConsumableType; flag2 = true; } notificationBreadcrumbController.AddPersistentBreadcrumb(type, RewardUtils.GetConsumableIdByServerName(enumerator.Current.Key).ToString()); } } if (flag2) { notificationBreadcrumbController.AddBreadcrumb(breadcrumbIdentifiers.Consumable); } if (flag3) { notificationBreadcrumbController.AddBreadcrumb(breadcrumbIdentifiers.PartyGame); } }
private void UpdateElements() { StaticDataController staticDataController = Service.StaticDataController; TargetedBundleController targetedBundleController = Service.TargetedBundleController; this.currentOffer = targetedBundleController.CurrentTargetedOffer; if (this.currentOffer != null) { UXLabel element = base.GetElement <UXLabel>("LabelTitle"); element.Text = this.lang.Get(this.currentOffer.Title, new object[0]); UXLabel element2 = base.GetElement <UXLabel>("LabelDescription"); element2.Text = this.lang.Get(this.currentOffer.Description, new object[0]); TextureVO optional = staticDataController.GetOptional <TextureVO>("gui_textures_promotional"); if (optional != null) { UXTexture element3 = base.GetElement <UXTexture>("TexturePromoArt"); element3.LoadTexture(optional.AssetName); } optional = staticDataController.GetOptional <TextureVO>("targeted_bundle_entry"); if (optional != null) { UXTexture element4 = base.GetElement <UXTexture>("TextureEnvironmentEntry"); element4.LoadTexture(optional.AssetName); } optional = staticDataController.GetOptional <TextureVO>("targeted_bundle_treads"); if (optional != null) { UXTexture element5 = base.GetElement <UXTexture>("TextureEnvironmentRight"); element5.LoadTexture(optional.AssetName); } optional = staticDataController.GetOptional <TextureVO>("targeted_bundle_treads"); if (optional != null) { UXTexture element6 = base.GetElement <UXTexture>("TextureEnvironmentLeft"); element6.LoadTexture(optional.AssetName); } optional = staticDataController.GetOptional <TextureVO>("targeted_bundle_dust"); if (optional != null) { UXTexture element7 = base.GetElement <UXTexture>("TextureEnvironmentDustRight"); element7.LoadTexture(optional.AssetName); element7 = base.GetElement <UXTexture>("TextureEnvironmentDustLeft"); element7.LoadTexture(optional.AssetName); } int i = 0; int count = this.currentOffer.RewardUIDs.Count; while (i < count) { RewardVO rewardVO = staticDataController.Get <RewardVO>(this.currentOffer.RewardUIDs[i]); if (!RewardUtils.SetupTargetedOfferCrateRewardDisplay(rewardVO, this.itemLabels[i], this.itemSprites[i])) { List <RewardComponentTag> rewardComponents = RewardUtils.GetRewardComponents(rewardVO); int j = 0; int count2 = rewardComponents.Count; while (j < count2) { RewardComponentTag rewardComponentTag = rewardComponents[j]; this.itemLabels[i].Text = this.lang.Get("AMOUNT_AND_NAME", new object[] { rewardComponentTag.RewardName, rewardComponentTag.Quantity }); RewardUtils.SetRewardIcon(this.itemSprites[i], rewardComponentTag.RewardGeometryConfig, AnimationPreference.AnimationAlways); j++; } } i++; } if (targetedBundleController.IsCurrencyCostOffer(this.currentOffer)) { this.SetupCurrencyCostOffer(this.currentOffer); } else { this.SetupIAPLinkedOffer(this.currentOffer); } UXUtils.SetupAnimatedCharacter(this.characterSprite1, this.currentOffer.Character1Image, ref this.charGeometry1); UXUtils.SetupAnimatedCharacter(this.characterSprite2, this.currentOffer.Character2Image, ref this.charGeometry2); uint serverTime = Service.ServerAPI.ServerTime; this.timeRemaining = (int)(targetedBundleController.OfferExpiresAt - serverTime); this.timerLabel.Text = this.lang.Get("expires_in", new object[] { GameUtils.GetTimeLabelFromSeconds(this.timeRemaining) }); this.valueLabel.Text = this.lang.Get("PERCENTAGE", new object[] { this.currentOffer.Discount.ToString() }); this.value2Label.Text = this.lang.Get("TARGETED_BUNDLE_DISCOUNT", new object[] { this.currentOffer.Discount.ToString() }); } else { Service.Logger.Error("No current offer available for targeted bundle screen"); } }
public void LoadItem(RewardCategory rewardCategory, DReward rewardData, bool allowMemberLockOverlay = false, bool showItemName = false) { this.rewardCategory = rewardCategory; this.rewardData = rewardData; if (rewardCategory == RewardCategory.fabrics) { loadItemIconContainer(fabricIconKey); } else if (rewardCategory == RewardCategory.partySupplies || rewardCategory == RewardCategory.consumables || rewardCategory == RewardCategory.musicTracks || rewardCategory == RewardCategory.iglooSlots || rewardCategory == RewardCategory.decorationInstances || rewardCategory == RewardCategory.decorationPurchaseRights || rewardCategory == RewardCategory.structureInstances || rewardCategory == RewardCategory.structurePurchaseRights) { loadItemIconContainer(prefabIconKey); } else { loadItemIconContainer(itemIconKey); } if (allowMemberLockOverlay) { object obj = rewardData.UnlockID; if (obj == null) { obj = rewardData.EquipmentRequest.definitionId; } bool flag = Service.Get <CPDataEntityCollection>().IsLocalPlayerMember() || !RewardUtils.IsRewardMemberOnly(rewardCategory, obj); MemberLockOverlay.SetActive(!flag); } this.showItemName = showItemName; }