private void AddGenericTransmission(TransmissionVO vo, int order) { string uid = vo.Uid; UXElement item = this.table.CloneTemplateItem(uid); this.table.GetSubElement <UXTexture>(uid, "TransmissionsLogThumbTexture").LoadTexture(vo.Image); this.table.GetSubElement <UXLabel>(uid, "TransmissionsLogItemLabelTitle").Text = this.lang.Get(vo.TitleText, new object[0]); string body = this.lang.Get(vo.BodyText, new object[0]); this.SetupTransmissionBody(this.table, vo, body); this.table.AddItem(item, order); }
private bool DuplicateTransmission(TransmissionVO vo) { int count = this.Transmissions.Count; for (int i = 0; i < count; i++) { if (this.Transmissions[i].Uid == vo.Uid) { return(true); } } return(false); }
public TransmissionsHolonetPopupView(HolonetScreen screen) { this.conflictEndVO = null; this.lang = Service.Get <Lang>(); this.eventManager = Service.Get <EventManager>(); this.holonetScreen = screen; this.holoPositioner = null; this.currentCharacter = null; this.currentTransmission = null; this.currentIndex = 1; this.maxIndex = 0; this.InitView(); }
public override ISerializable FromObject(object obj) { this.MessageVOs = new List<TransmissionVO>(); List<object> list = obj as List<object>; if (list != null) { int count = list.Count; for (int i = 0; i < count; i++) { this.MessageVOs.Add(TransmissionVO.CreateFromServerObject(list[i])); } } return this; }
private void AddCustomTransmission(TransmissionVO vo, string title, string body, int order) { string uid = vo.Uid; if (!string.IsNullOrEmpty(uid)) { CurrentPlayer currentPlayer = Service.CurrentPlayer; string serverTransmissionMessageImage = GameUtils.GetServerTransmissionMessageImage(currentPlayer.Faction, currentPlayer.Planet.Uid); UXElement item = this.table.CloneTemplateItem(uid); this.table.GetSubElement <UXTexture>(uid, "TransmissionsLogThumbTexture").LoadTexture(serverTransmissionMessageImage); this.table.GetSubElement <UXLabel>(uid, "TransmissionsLogItemLabelTitle").Text = title; this.SetupTransmissionBody(this.table, vo, body); this.table.AddItem(item, order); } }
public static string GetHolonetTransmissionCharacterName(TransmissionVO vo) { Lang lang = Service.Get <Lang>(); string characterID = vo.CharacterID; IDataController dataController = Service.Get <IDataController>(); foreach (TransmissionCharacterVO current in dataController.GetAll <TransmissionCharacterVO>()) { if (current.CharacterId == characterID) { return(lang.Get("hn_character_name_title", new object[] { lang.Get(current.CharacterName, new object[0]) })); } } return(""); }
private void SetupSquadLevelUpTransmission(TransmissionVO transmission) { this.genericTransmissionButtonTable.Clear(); this.battleLogTransmission.Visible = false; this.ShowGenericTransmissionGroup(true); this.conflictContainer.Visible = false; this.squadWarEndedContainer.Visible = false; this.genericTransmissionTextGroup.Visible = true; string btnID = transmission.Uid + "_CTA"; string cTAButtonText = this.GetCTAButtonText(transmission); this.CreateGenericTableButton(btnID, cTAButtonText, "BtnGold", new UXButtonClickedDelegate(this.OnGenericCTA), 0); this.genericTransmissionTitle.Visible = false; this.genericTransmissionBody.Text = this.lang.Get("hn_perks_squad_level_up_body", new object[] { transmission.SquadLevel }); this.genericBtnMsg.Text = this.lang.Get("hn_perks_squad_level_up_cta_desc", new object[0]); }
private void SetupSquadWarEndedTransmission(TransmissionVO transmission) { this.genericTransmissionButtonTable.Clear(); this.battleLogTransmission.Visible = false; this.ShowGenericTransmissionGroup(false); this.conflictContainer.Visible = false; this.squadWarEndedContainer.Visible = true; this.genericTransmissionTextGroup.Visible = false; int empireScore = transmission.EmpireScore; int rebelScore = transmission.RebelScore; string text = this.lang.Get("WAR_END_RESULTS_DRAW", new object[0]); if (empireScore > rebelScore) { text = this.lang.Get("WAR_END_RESULTS_EMPIRE_WIN", new object[] { transmission.EmpireSquadName }); } else if (rebelScore > empireScore) { text = this.lang.Get("WAR_END_RESULTS_REBELS_WIN", new object[] { transmission.RebelSquadName }); } UXLabel element = this.holonetScreen.GetElement <UXLabel>("EndSquadWarLabelMessage"); element.Text = text; UXLabel element2 = this.holonetScreen.GetElement <UXLabel>("EndSquadWarLabelTitle"); element2.Text = this.lang.Get("WAR_END_TRANSMISSION_TITLE", new object[0]); UXLabel element3 = this.holonetScreen.GetElement <UXLabel>("EndSquadWarLabelButtonMessage"); element3.Text = this.lang.Get("WAR_END_TRANSMISSION_CTA_DESC", new object[0]); string btnID = transmission.Uid + "_CTA"; string cTAButtonText = this.GetCTAButtonText(transmission); this.CreateGenericTableButton(btnID, cTAButtonText, "BtnGold", new UXButtonClickedDelegate(this.OnGenericCTA), 0); this.genericTransmissionButtonTable.RepositionItems(); }
private void SetupDailyCrateRewardTransmission(TransmissionVO transmission) { this.genericTransmissionButtonTable.Clear(); this.battleLogTransmission.Visible = false; this.ShowGenericTransmissionGroup(true); this.conflictContainer.Visible = false; this.squadWarEndedContainer.Visible = false; this.genericTransmissionTextGroup.Visible = true; string btnID = "DailyCrateReward_CTA"; string cTAButtonText = this.GetCTAButtonText(transmission); this.CreateGenericTableButton(btnID, cTAButtonText, "BtnGold", new UXButtonClickedDelegate(this.OnGenericCTA), 0); this.genericTransmissionTitle.Text = this.lang.Get("hn_daily_crate_reward_title", new object[0]); CrateVO crateVO = Service.Get <IDataController>().Get <CrateVO>(transmission.CrateId); this.genericTransmissionBody.Text = this.lang.Get("hn_daily_crate_reward_body", new object[] { LangUtils.GetCrateDisplayName(crateVO) }); this.genericBtnMsg.Visible = false; }
private void SetupTransmissionBody(UXTable table, TransmissionVO vo, string body) { UXLabel subElement = table.GetSubElement <UXLabel>(vo.Uid, "TransmissionsLogItemLabelBody"); UXLabel subElement2 = table.GetSubElement <UXLabel>(vo.Uid, "TransmissionsLogItemLabelBodyNoBtn"); if (string.IsNullOrEmpty(vo.Btn1)) { subElement2.Text = body; subElement2.Visible = true; subElement.Text = string.Empty; subElement.Visible = false; } else { subElement2.Text = string.Empty; subElement2.Visible = false; subElement.Text = body; subElement.Visible = true; } UXButton subElement3 = table.GetSubElement <UXButton>(vo.Uid, "TransmissionsItemBtnAction"); UXLabel subElement4 = table.GetSubElement <UXLabel>(vo.Uid, "TransmissionsItemBtnActionLabel"); base.PrepareButton(vo, 1, subElement3, subElement4); }
public TransmissionsHolonetTab(HolonetScreen holoScreen, HolonetControllerType holonetControllerType) : base(holoScreen, holonetControllerType) { base.InitializeTab("TransmissionsLogTab", "hn_transmissions_tab"); List <TransmissionVO> transmissions = Service.HolonetController.TransmissionsController.Transmissions; int count = transmissions.Count; this.table = holoScreen.GetElement <UXTable>("TransmissionsLogTable"); this.table.SetTemplateItem("TransmissionsLogItem"); string title = string.Empty; string body = string.Empty; for (int i = 0; i < count; i++) { bool flag = false; TransmissionVO transmissionVO = transmissions[i]; switch (transmissionVO.Type) { case TransmissionType.Research: title = this.lang.Get("hn_transmission_research_title", new object[] { this.GetResearchDisplayName(transmissionVO.TransData) }); body = this.lang.Get("hn_transmission_research_body", new object[] { this.GetResearchDisplayName(transmissionVO.TransData), transmissionVO.Btn1Data }); flag = true; break; case TransmissionType.HqUpgrade: title = this.lang.Get("hn_transmission_hqupgrade_title", new object[0]); body = this.lang.Get("hn_transmission_hqupgrade_body", new object[] { transmissionVO.Btn1Data }); flag = true; break; case TransmissionType.NavigationCenterUpgrade: title = this.lang.Get("hn_transmission_pcupgrade_title", new object[0]); body = this.lang.Get("hn_transmission_pcupgrade_body", new object[] { transmissionVO.Btn1Data }); flag = true; break; case TransmissionType.Conflict: { string text = string.Empty; string text2 = string.Empty; StaticDataController staticDataController = Service.StaticDataController; TournamentVO optional = staticDataController.GetOptional <TournamentVO>(transmissionVO.TransData); TournamentTierVO optional2 = staticDataController.GetOptional <TournamentTierVO>(transmissionVO.Btn1Data); if (optional != null && optional2 != null) { text = LangUtils.GetPlanetDisplayName(optional.PlanetId); text2 = this.lang.Get(optional2.RankName, new object[0]) + " " + this.lang.Get(optional2.Division, new object[0]); } title = this.lang.Get("hn_transmission_conflict_title", new object[0]); body = this.lang.Get("hn_transmission_conflict_body", new object[] { text, text2 }); flag = true; break; } case TransmissionType.WarPreparation: title = this.lang.Get(LangUtils.AppendPlayerFactionToKey("transm_war_prep_title"), new object[0]); body = this.lang.Get(LangUtils.AppendPlayerFactionToKey("transm_war_prep_body"), new object[0]); flag = true; break; case TransmissionType.WarStart: title = this.lang.Get(LangUtils.AppendPlayerFactionToKey("transm_war_start_title"), new object[0]); body = this.lang.Get(LangUtils.AppendPlayerFactionToKey("transm_war_start_body"), new object[0]); flag = true; break; case TransmissionType.WarEnded: title = this.lang.Get(LangUtils.AppendPlayerFactionToKey("transm_war_end_title"), new object[0]); body = this.lang.Get(LangUtils.AppendPlayerFactionToKey("transm_war_end_body"), new object[0]); flag = true; break; case TransmissionType.SquadChange: { object[] array = (transmissionVO.TransData ?? string.Empty).Split(new char[] { '\\' }); if (array.Length > 1) { title = this.lang.Get("hn_squad_application_accepted_title", new object[] { array[1] }); body = this.lang.Get("hn_squad_application_accepted_body", array); } flag = true; break; } case TransmissionType.GuildLevelUp: title = this.lang.Get("hn_perks_squad_level_up_title", new object[0]); body = this.lang.Get("hn_perks_squad_level_up_body", new object[] { transmissionVO.SquadLevel }); flag = true; break; case TransmissionType.DailyCrateReward: { title = this.lang.Get("hn_daily_crate_reward_title", new object[0]); CrateVO crateVO = Service.StaticDataController.Get <CrateVO>(transmissionVO.CrateId); body = this.lang.Get("hn_daily_crate_reward_body", new object[] { LangUtils.GetCrateDisplayName(crateVO) }); flag = true; break; } } if (flag) { this.AddCustomTransmission(transmissionVO, title, body, i); } else { this.AddGenericTransmission(transmissionVO, i); } } }
private bool IsDailyCrateTutorialTransmission(TransmissionVO vo) { return(vo.Uid == "transm_tut_daily_crate_r" || vo.Uid == "transm_tut_daily_crate_e"); }
private bool IsDailyCrateTransmission(TransmissionVO vo) { return(vo.Type == TransmissionType.DailyCrateReward); }
private void SetupConflictTransmission(TransmissionVO transmission) { this.battleLogTransmission.Visible = false; this.ShowGenericTransmissionGroup(false); this.conflictContainer.Visible = true; this.squadWarEndedContainer.Visible = false; this.genericTransmissionTextGroup.Visible = false; this.SetupTransmissionButtons(transmission); IDataController dataController = Service.Get <IDataController>(); CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>(); this.conflictEndVO = dataController.GetOptional <TournamentVO>(transmission.TransData); TournamentTierVO optional = dataController.GetOptional <TournamentTierVO>(transmission.Btn1Data); if (this.conflictEndVO == null || optional == null) { return; } Tournament tournament = currentPlayer.TournamentProgress.GetTournament(this.conflictEndVO.Uid); if (tournament == null) { Service.Get <StaRTSLogger>().ErrorFormat("Tournament doesn't exist for player. tournament {0}", new object[] { this.conflictEndVO.Uid }); this.conflictMessage.Visible = false; this.conflictTierIcon.Visible = false; return; } TournamentRank finalRank = tournament.FinalRank; string text = LangUtils.AppendPlayerFactionToKey("hn_conflict_end_message"); this.conflictMessage.Visible = true; this.conflictTierIcon.Visible = true; this.conflictMessage.Text = this.lang.Get(text.ToString(), new object[] { LangUtils.GetPlanetDisplayName(this.conflictEndVO.PlanetId) }); this.conflictTierIcon.SpriteName = Service.Get <TournamentController>().GetTierIconName(optional); this.conflictTierTitle.Text = this.lang.Get("s_YourTier", new object[0]); this.conflictTierLevel.Text = this.lang.Get("CONFLICT_LEAGUE_AND_DIVISION", new object[] { this.lang.Get(optional.RankName, new object[0]), this.lang.Get(optional.DivisionSmall, new object[0]) }); this.conflictTierPercent.Text = this.lang.Get("CONFLICT_TIER_PERCENTILE", new object[] { Math.Round(finalRank.Percentile, 2) }); bool flag = TimedEventPrizeUtils.TrySetupConflictEndedRewardView(tournament.RedeemedRewards, this.holonetScreen.GetElement <UXLabel>("LabelReward"), this.holonetScreen.GetElement <UXSprite>("SpriteReward")); if (flag) { this.holonetScreen.GetElement <UXLabel>("LabelRewardTitle").Text = this.lang.Get("CONFLICT_END_PRIZE", new object[0]); } else { Service.Get <StaRTSLogger>().ErrorFormat("There is no reward given to player for tournament {0}", new object[] { this.conflictEndVO.Uid }); } Service.Get <ViewTimerManager>().CreateViewTimer(0.5f, false, new TimerDelegate(this.ShowReward), null); }
private void FinishPreparingTransmissions(List <TransmissionVO> msgVOs) { int num = 0; this.Transmissions.Clear(); this.incomingTransmissions.Clear(); this.transmissionIndex = 0; SquadWarManager warManager = Service.Get <SquadController>().WarManager; SharedPlayerPrefs sharedPlayerPrefs = Service.Get <SharedPlayerPrefs>(); int pref = sharedPlayerPrefs.GetPref <int>("DailyCrateTransTutorialViewed"); int serverTime = (int)Service.Get <ServerAPI>().ServerTime; IDataController dataController = Service.Get <IDataController>(); CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>(); foreach (TransmissionVO current in dataController.GetAll <TransmissionVO>()) { if (current.Faction == currentPlayer.Faction && current.StartTime > 0 && current.StartTime <= serverTime && serverTime < current.EndTime && (!this.IsDailyCrateTutorialTransmission(current) || pref != 1)) { this.Transmissions.Add(current); if (current.StartTime > this.lastTransmissionTimeViewed) { num++; } } } HolonetController holonetController = Service.Get <HolonetController>(); msgVOs.Sort(new Comparison <TransmissionVO>(holonetController.CompareTimestamps)); int hOLONET_EVENT_MESSAGE_MAX_COUNT = GameConstants.HOLONET_EVENT_MESSAGE_MAX_COUNT; int count = msgVOs.Count; int num2 = 0; while (num2 < hOLONET_EVENT_MESSAGE_MAX_COUNT && num2 < count) { TransmissionVO transmissionVO = msgVOs[num2]; if (!this.DuplicateTransmission(transmissionVO)) { this.Transmissions.Add(transmissionVO); if (transmissionVO.StartTime > this.lastTransmissionTimeViewed) { num++; if (this.IsWarTransmission(transmissionVO) && !warManager.IsTimeWithinCurrentSquadWarPhase(transmissionVO.StartTime)) { num--; } } } else { Service.Get <StaRTSLogger>().Error("Duplicate entry in transmission event messages repsonse: " + transmissionVO.Uid); } num2++; } this.Transmissions.Sort(new Comparison <TransmissionVO>(holonetController.CompareTimestamps)); int pref2 = sharedPlayerPrefs.GetPref <int>("HighestViewedSquadLvlUP"); int hOLONET_MAX_INCOMING_TRANSMISSIONS = GameConstants.HOLONET_MAX_INCOMING_TRANSMISSIONS; int count2 = this.Transmissions.Count; int num3 = 0; TransmissionVO transmissionVO2 = null; int num4 = 0; while (num3 < hOLONET_MAX_INCOMING_TRANSMISSIONS && num4 < count2) { TransmissionVO transmissionVO3 = this.Transmissions[num4]; if (this.IsIncomingTransmission(transmissionVO3) && (!this.IsWarTransmission(transmissionVO3) || warManager.IsTimeWithinCurrentSquadWarPhase(transmissionVO3.StartTime))) { if (this.IsSquadLevelUpTransmission(transmissionVO3)) { if (!Service.Get <PerkManager>().HasPlayerSeenPerkTutorial()) { goto IL_2A7; } bool flag = transmissionVO2 == null || transmissionVO3.SquadLevel > transmissionVO2.SquadLevel; if (!flag || pref2 >= transmissionVO3.SquadLevel) { goto IL_2A7; } if (transmissionVO2 != null) { num3--; this.incomingTransmissions.Remove(transmissionVO2); } transmissionVO2 = transmissionVO3; } if (pref == 0) { if (this.IsDailyCrateTransmission(transmissionVO3)) { goto IL_2A7; } if (this.IsDailyCrateTutorialTransmission(transmissionVO3)) { sharedPlayerPrefs.SetPref("DailyCrateTransTutorialViewed", "1"); } } num3++; this.incomingTransmissions.Add(transmissionVO3); } IL_2A7: num4++; } this.incomingTransmissions.Sort(new Comparison <TransmissionVO>(this.CompareIncommingPriorites)); holonetController.ContentPrepared(this, num); }
private bool IsIncomingTransmission(TransmissionVO vo) { return(this.IsDailyCrateTutorialTransmission(vo) || (vo.StartTime > this.lastTransmissionTimeViewed && (vo.Type == TransmissionType.Conflict || vo.Type == TransmissionType.WarPreparation || vo.Type == TransmissionType.WarStart || vo.Type == TransmissionType.WarEnded || vo.Type == TransmissionType.Generic || vo.Type == TransmissionType.GuildLevelUp || vo.Type == TransmissionType.DailyCrateReward))); }
private int CompareIncommingPriorites(TransmissionVO a, TransmissionVO b) { return(b.Priority - a.Priority); }
private bool IsSquadLevelUpTransmission(TransmissionVO vo) { return(vo.Type == TransmissionType.GuildLevelUp); }
private bool IsWarTransmission(TransmissionVO vo) { return(vo.Type == TransmissionType.WarPreparation || vo.Type == TransmissionType.WarStart || vo.Type == TransmissionType.WarEnded); }