public override void Destroy() { base.Destroy(); this.animator = null; this.opponentState = null; this.buffBaseData = null; }
public void ShowParticipantOptions(GameObject obj, SquadWarParticipantState state) { if (this.opponentState != null && this.opponentState == state) { return; } this.opponentState = state; this.buffBaseData = null; this.Visible = true; this.transformToTrack = obj.transform; this.animator.Play("Off", 0, 1f); this.animator.ResetTrigger("Off"); this.animator.ResetTrigger("ShowBottom"); this.animator.SetTrigger("ShowTop"); SquadWarManager warManager = Service.Get <SquadController>().WarManager; string empty = string.Empty; if (warManager.CanScoutWarMember(this.opponentState.SquadMemberId, ref empty)) { this.scoutMemberButton.VisuallyEnableButton(); this.scoutMemberLabel.TextColor = this.scoutBuffBaseLabel.OriginalTextColor; } else { this.scoutMemberButton.VisuallyDisableButton(); this.scoutMemberLabel.TextColor = UXUtils.COLOR_LABEL_DISABLED; } this.PlayShowAudioClip(); Service.Get <ViewTimeEngine>().RegisterFrameTimeObserver(this); }
public override ISerializable FromObject(object obj) { if (!(obj is Dictionary <string, object>)) { return(this); } this.SquadWarBuffBaseData = new SquadWarBuffBaseData(); this.SquadWarBuffBaseData.FromObject(obj); return(this); }
public void Hide() { this.opponentState = null; this.buffBaseData = null; if (this.Visible) { this.animator.ResetTrigger("ShowTop"); this.animator.ResetTrigger("ShowBottom"); this.animator.SetTrigger("Off"); } this.Visible = false; Service.Get <EventManager>().SendEvent(EventId.WarBoardFlyoutHidden, null); Service.Get <ViewTimeEngine>().UnregisterFrameTimeObserver(this); }
public static void SetupBuffIcons(AbstractUXList list, string templateName, string squadId) { list.SetTemplateItem(templateName); list.Clear(); StaticDataController staticDataController = Service.StaticDataController; List <SquadWarBuffBaseData> buffBases = Service.SquadController.WarManager.CurrentSquadWar.BuffBases; int i = 0; int count = buffBases.Count; while (i < count) { SquadWarBuffBaseData squadWarBuffBaseData = buffBases[i]; if (squadWarBuffBaseData.OwnerId == squadId) { SquadWarBuffIconHelper.AddBuffIcon(list, squadWarBuffBaseData.BuffBaseId, i, staticDataController); } i++; } list.RepositionItems(); }
private void SwitchToAnotherBuffBase(int relativeIndex) { SquadWarManager warManager = Service.Get <SquadController>().WarManager; List <SquadWarBuffBaseData> buffBases = warManager.CurrentSquadWar.BuffBases; int num = buffBases.IndexOf(this.buffBaseData); if (num == -1 || buffBases.Count == 0) { return; } num += relativeIndex; if (num >= buffBases.Count) { num = 0; } if (num < 0) { num = buffBases.Count - 1; } this.buffBaseData = buffBases[num]; this.Refresh(); }
public void ShowBuffBaseOptions(UXCheckbox checkbox, SquadWarBuffBaseData data) { if (this.buffBaseData != null && this.buffBaseData == data) { return; } this.buffBaseData = data; this.opponentState = null; this.Visible = true; this.transformToTrack = null; Vector3[] worldCorners = checkbox.GetWorldCorners(); Vector3 position = checkbox.Root.transform.position; if (worldCorners != null) { position.y = worldCorners[0].y; } this.rootTrans.position = position; this.animator.Play("Off", 0, 1f); this.animator.ResetTrigger("Off"); this.animator.ResetTrigger("ShowTop"); this.animator.SetTrigger("ShowBottom"); SquadWarManager warManager = Service.Get <SquadController>().WarManager; string empty = string.Empty; if (warManager.CanScoutBuffBase(this.buffBaseData, ref empty)) { this.scoutBuffBaseButton.VisuallyEnableButton(); this.scoutBuffBaseLabel.TextColor = this.scoutBuffBaseLabel.OriginalTextColor; } else { this.scoutBuffBaseButton.VisuallyDisableButton(); this.scoutBuffBaseLabel.TextColor = UXUtils.COLOR_LABEL_DISABLED; } this.PlayShowAudioClip(); }
public static SquadMsg GenerateMessageFromGetSquadWarStatusResponse(GetSquadWarStatusResponse response) { SquadWarSquadData squadWarSquadData = new SquadWarSquadData(); SquadWarSquadData squadWarSquadData2 = new SquadWarSquadData(); List <SquadWarBuffBaseData> list = new List <SquadWarBuffBaseData>(); squadWarSquadData.FromObject(response.Squad1Data); squadWarSquadData2.FromObject(response.Squad2Data); List <object> list2 = response.BuffBaseData as List <object>; int i = 0; int count = list2.Count; while (i < count) { SquadWarBuffBaseData squadWarBuffBaseData = new SquadWarBuffBaseData(); squadWarBuffBaseData.FromObject(list2[i]); list.Add(squadWarBuffBaseData); i++; } SquadWarData squadWarData = new SquadWarData(); squadWarData.WarId = response.Id; squadWarData.Squads[0] = squadWarSquadData; squadWarData.Squads[1] = squadWarSquadData2; squadWarData.BuffBases = list; squadWarData.PrepGraceStartTimeStamp = response.PrepGraceStartTimeStamp; squadWarData.PrepEndTimeStamp = response.PrepEndTimeStamp; squadWarData.ActionGraceStartTimeStamp = response.ActionGraceStartTimeStamp; squadWarData.ActionEndTimeStamp = response.ActionEndTimeStamp; squadWarData.StartTimeStamp = response.StartTimeStamp; squadWarData.CooldownEndTimeStamp = response.CooldownEndTimeStamp; squadWarData.RewardsProcessed = response.RewardsProcessed; return(new SquadMsg { CurrentSquadWarData = squadWarData }); }
public SquadWarBuffBaseDetails(SquadWarBuffBaseData buffBaseData) : base("gui_squadwar_buffbasedetails") { this.buffBaseData = buffBaseData; }
protected override void SetupView() { base.GetElement <UXElement>("ReplayResults").Visible = false; base.GetElement <UXButton>("ButtonReplayBattle").Visible = false; this.lastBattle = null; this.battleType = BattleType.ClientBattle; if (this.isReplay) { this.lastBattle = Service.Get <BattlePlaybackController>().CurrentBattleEntry; BattleRecord currentBattleRecord = Service.Get <BattlePlaybackController>().CurrentBattleRecord; this.battleType = ((currentBattleRecord != null) ? currentBattleRecord.BattleType : BattleType.ClientBattle); } else { CurrentBattle currentBattle = Service.Get <BattleController>().GetCurrentBattle(); this.lastBattle = currentBattle; this.battleType = ((currentBattle != null) ? currentBattle.Type : BattleType.ClientBattle); } if (this.lastBattle == null) { Service.Get <StaRTSLogger>().Error("Last battle is null"); return; } base.GetElement <UXLabel>("LabelPercentageSquadWar").Text = this.lang.Get("PERCENTAGE", new object[] { this.lastBattle.DamagePercent }); bool flag = this.battleType == BattleType.PvpAttackSquadWar; UXLabel element = base.GetElement <UXLabel>("LabelResultsSquadWar"); if (flag) { int num = Service.Get <SquadController>().WarManager.CalculateVictoryPointsTaken(this.lastBattle); element.Text = this.lang.Get("VICTORY_POINTS_EARNED", new object[] { num }); } else { bool flag2 = this.lastBattle.Defender.PlayerFaction != FactionType.Smuggler; bool won = this.lastBattle.Won; string text = (this.lastBattle.Defender.PlayerFaction == FactionType.Empire) ? "squadwars_end_celeb_empire" : "squadwars_end_celeb_rebel"; string text2 = (this.lastBattle.Attacker.PlayerFaction == FactionType.Empire) ? "squadwars_end_celeb_empire" : "squadwars_end_celeb_rebel"; this.currentOwnerTexture = base.GetElement <UXTexture>("TextureFactionIconCurrent"); this.currentOwnerTexture.LoadTexture((!flag2 & won) ? text2 : text); this.newOwnerTexture = base.GetElement <UXTexture>("TextureFactionIconNew"); this.newOwnerTexture.LoadTexture(won ? text2 : text); if (won) { SquadWarManager warManager = Service.Get <SquadController>().WarManager; string currentlyScoutedBuffBaseId = warManager.GetCurrentlyScoutedBuffBaseId(); WarBuffVO warBuffVO = Service.Get <IDataController>().Get <WarBuffVO>(currentlyScoutedBuffBaseId); SquadWarBuffBaseData currentlyScoutedBuffBaseData = warManager.GetCurrentlyScoutedBuffBaseData(); string text3 = this.lang.Get(warBuffVO.BuffBaseName, new object[0]); string text4 = currentlyScoutedBuffBaseData.GetDisplayBaseLevel().ToString(); this.buffBaseUpgradeLabel.Visible = true; this.buffBaseUpgradeLabel.Text = this.lang.Get("WAR_BUFF_BASE_UPGRADED", new object[] { text3, text4 }); this.labelBuffBaseCapturedSquadWar.Visible = true; this.labelBuffBaseCapturedSquadWar.Text = this.lang.Get("WAR_BATTLE_END_BUFF_BASE_CAPTURED", new object[] { text3 }); } } element.Visible = flag; UXLabel element2 = base.GetElement <UXLabel>("LabelAttacksLeftSquadWar"); bool visible = false; if (this.lastBattle.AttackerID == Service.Get <CurrentPlayer>().PlayerId) { SquadWarParticipantState currentParticipantState = Service.Get <SquadController>().WarManager.GetCurrentParticipantState(); if (currentParticipantState != null) { element2.Text = this.lang.Get("WAR_PLAYER_DETAILS_TURNS_LEFT", new object[] { currentParticipantState.TurnsLeft }); visible = true; } } element2.Visible = visible; this.InitVictoryPoints(this.lastBattle); this.attackerBuffsGrid = base.GetElement <UXGrid>("GridBuffsRightSquadWar"); SquadWarBuffIconHelper.SetupBuffIcons(this.attackerBuffsGrid, "SpriteIconBuffRightSquadWar", this.lastBattle.AttackerWarBuffs); this.defenderBuffsGrid = base.GetElement <UXGrid>("GridBuffsLeftSquadWar"); SquadWarBuffIconHelper.SetupBuffIcons(this.defenderBuffsGrid, "SpriteIconBuffLeftSquadWar", this.lastBattle.DefenderWarBuffs); if (this.lastBattle.Won) { base.AnimateStars(this.lastBattle.EarnedStars); } base.InitTroopGrid("GridTroopsExpendedSquadWar", "TemplateTroopsExpendedSquadWar", this.lastBattle); }
public bool IsShowingBuffBaseOptions(SquadWarBuffBaseData data) { return(data != null && this.buffBaseData != null && this.buffBaseData.BuffBaseId == data.BuffBaseId); }
public EatResponse OnEvent(EventId id, object cookie) { if (id != EventId.PreloadedAudioSuccess && id != EventId.PreloadedAudioFailure) { switch (id) { case EventId.WarBoardParticipantBuildingSelected: { GameObject gameObject = (GameObject)cookie; SquadWarParticipantState participantState = Service.Get <WarBoardBuildingController>().GetParticipantState(gameObject); bool flag = this.flyout != null && this.flyout.IsShowingParticipantOptions(participantState); if (flag) { Service.Get <WarBoardBuildingController>().DeselectBuilding(); } else if (this.flyout != null) { this.flyout.ShowParticipantOptions(gameObject, participantState); } break; } case EventId.WarBoardBuffBaseBuildingSelected: { UXCheckbox uXCheckbox = (UXCheckbox)cookie; SquadWarBuffBaseData data = (SquadWarBuffBaseData)uXCheckbox.Tag; bool flag2 = this.flyout != null && this.flyout.IsShowingBuffBaseOptions(data); if (flag2) { if (this.flyout != null) { this.flyout.Hide(); } } else { if (this.flyout != null) { this.flyout.ShowBuffBaseOptions(uXCheckbox, data); } Service.Get <WarBoardBuildingController>().DeselectBuilding(); } break; } case EventId.WarBoardBuildingDeselected: { GameObject building = (GameObject)cookie; SquadWarParticipantState participantState2 = Service.Get <WarBoardBuildingController>().GetParticipantState(building); if ((participantState2 == null || this.flyout.IsShowingParticipantOptions(participantState2)) && this.flyout != null) { this.flyout.Hide(); } break; } } } else { AudioTypeVO audioTypeVO = (AudioTypeVO)cookie; if (audioTypeVO != null && audioTypeVO.Uid == "sfx_ui_squadwar_warboard_open") { this.WarBoardAudioLoadFinished(); Service.Get <EventManager>().UnregisterObserver(this, EventId.PreloadedAudioSuccess); Service.Get <EventManager>().UnregisterObserver(this, EventId.PreloadedAudioFailure); } } return(EatResponse.NotEaten); }
private int SortBuffBases(SquadWarBuffBaseData a, SquadWarBuffBaseData b) { return(a.BaseLevel - b.BaseLevel); }
private static BattleInitializationData CreateBuffBaseBattleFromBattleTypeVO(string id, SquadWarBuffBaseData buffBaseData) { BattleInitializationData battleInitializationData = BattleInitializationData.CreateFromBattleTypeVO(id); battleInitializationData.BattleType = BattleType.PveBuffBase; battleInitializationData.Attacker.GuildId = Service.SquadController.StateManager.GetCurrentSquad().SquadID; battleInitializationData.AttackerGuildTroopsAvailable = BattleInitializationData.GetCurrentPlayerGuildTroops(); SquadWarManager warManager = Service.SquadController.WarManager; battleInitializationData.AttackerWarBuffs = warManager.GetBuffBasesOwnedBySquad(battleInitializationData.Attacker.GuildId); battleInitializationData.DefenderWarBuffs = null; SquadWarSquadData squadData = warManager.GetSquadData(SquadWarSquadType.PLAYER_SQUAD); SquadWarSquadData squadData2 = warManager.GetSquadData(SquadWarSquadType.OPPONENT_SQUAD); string ownerId = buffBaseData.OwnerId; if (!string.IsNullOrEmpty(ownerId)) { if (ownerId == squadData2.SquadId) { battleInitializationData.Defender.PlayerFaction = squadData2.Faction; } else if (ownerId == squadData.SquadId) { battleInitializationData.Defender.PlayerFaction = squadData.Faction; } } else { battleInitializationData.Defender.PlayerFaction = FactionType.Smuggler; } battleInitializationData.AttackerEquipment = BattleInitializationData.GetCurrentPlayerEquipment(battleInitializationData.PlanetId); battleInitializationData.DefenderEquipment = null; return(battleInitializationData); }
public static BattleInitializationData CreateBuffBaseBattleFromCampaignMissionVO(CampaignMissionVO vo, SquadWarBuffBaseData buffBaseData) { StaticDataController staticDataController = Service.StaticDataController; BattleInitializationData battleInitializationData = BattleInitializationData.CreateBuffBaseBattleFromBattleTypeVO(vo.Map, buffBaseData); battleInitializationData.MissionUid = vo.Uid; battleInitializationData.BattleMusic = vo.BattleMusic; battleInitializationData.AmbientMusic = vo.AmbientMusic; battleInitializationData.VictoryConditions = vo.Conditions; if (!string.IsNullOrEmpty(vo.FailureCondition)) { battleInitializationData.FailureCondition = staticDataController.Get <ConditionVO>(vo.FailureCondition); } return(battleInitializationData); }