示例#1
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);
        }