Example #1
0
 public override void Destroy()
 {
     base.Destroy();
     this.animator      = null;
     this.opponentState = null;
     this.buffBaseData  = null;
 }
Example #2
0
        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);
        }
Example #3
0
 public override ISerializable FromObject(object obj)
 {
     if (!(obj is Dictionary <string, object>))
     {
         return(this);
     }
     this.SquadWarBuffBaseData = new SquadWarBuffBaseData();
     this.SquadWarBuffBaseData.FromObject(obj);
     return(this);
 }
Example #4
0
 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);
 }
Example #5
0
        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();
        }
Example #6
0
        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();
        }
Example #7
0
        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();
        }
Example #8
0
        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
            });
        }
Example #9
0
 public SquadWarBuffBaseDetails(SquadWarBuffBaseData buffBaseData) : base("gui_squadwar_buffbasedetails")
 {
     this.buffBaseData = buffBaseData;
 }
Example #10
0
        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);
        }
Example #11
0
 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);
 }
Example #14
0
        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);
        }
Example #15
0
        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);
        }