protected override void OnScreenLoaded()
        {
            this.InitButtons();
            this.labelTitle        = base.GetElement <UXLabel>("LabelTitle");
            this.btnInfo           = base.GetElement <UXButton>("BtnInfo");
            this.labelSquadQueue   = base.GetElement <UXLabel>("LabelSquadQueue");
            this.buttonCancel      = base.GetElement <UXButton>("ButtonCancel");
            this.labelButtonCancel = base.GetElement <UXLabel>("LabelButtonCancel");
            this.buttonBack        = base.GetElement <UXButton>("ButtonBack");
            this.labelButtonBack   = base.GetElement <UXLabel>("LabelButtonBack");
            this.buttonConfirm     = base.GetElement <UXButton>("ButtonConfirm");
            this.labelButtonOk     = base.GetElement <UXLabel>("LabelButtonOk");
            this.queueTexture      = base.GetElement <UXTexture>("QueueTexture");
            IDataController dataController = Service.Get <IDataController>();
            TextureVO       textureVO      = dataController.Get <TextureVO>("gui_textures_cancel_matchmaking");

            this.queueTexture.LoadTexture(textureVO.AssetName);
            this.labelTitle.Text         = this.lang.Get("WAR_MATCHMAKE_TITLE", new object[0]);
            this.btnInfo.OnClicked       = new UXButtonClickedDelegate(Service.Get <SquadController>().WarManager.ShowInfoScreen);
            this.buttonCancel.OnClicked  = new UXButtonClickedDelegate(this.OnCancelButtonClicked);
            this.labelButtonCancel.Text  = this.lang.Get("WAR_CANCEL_MATCHMAKE", new object[0]);
            this.buttonBack.OnClicked    = new UXButtonClickedDelegate(this.OnBackClicked);
            this.labelButtonBack.Text    = this.lang.Get("WAR_CANCEL_MATCHMAKE_BACK", new object[0]);
            this.buttonConfirm.OnClicked = new UXButtonClickedDelegate(this.OnConfirmClicked);
            this.labelButtonOk.Text      = this.lang.Get("WAR_OK", new object[0]);
            this.finalConfirm            = false;
            this.Refresh();
        }
예제 #2
0
 private void GenerateTriggerMaterial()
 {
     if (this.triggerMaterial == null)
     {
         string shaderName = "Scroll_XY_Alpha";
         Shader shader     = Service.AssetManager.Shaders.GetShader(shaderName);
         if (shader == null)
         {
             return;
         }
         this.triggerMaterial = UnityUtils.CreateMaterial(shader);
         this.triggerRadius.GetComponent <Renderer>().sharedMaterial = this.triggerMaterial;
         this.triggerMaterial.color = this.TRIGGER_COLOR;
         this.triggerMaterial.SetFloat("_tint", 1f);
         this.triggerMaterial.SetFloat("_SpeedX", 0f);
         if (this.triggerTexture != null)
         {
             this.AssignTriggerMaterial();
         }
         else if (this.triggerHandle == AssetHandle.Invalid)
         {
             this.triggerRadius.SetActive(false);
             TextureVO textureVO = Service.StaticDataController.Get <TextureVO>("trigger_radius");
             Service.AssetManager.Load(ref this.triggerHandle, textureVO.AssetName, new AssetSuccessDelegate(this.OnTextureLoaded), null, this.triggerMaterial);
         }
     }
 }
예제 #3
0
 private void GenerateEffectMaterial()
 {
     if (this.effectMaterial == null)
     {
         string shaderName = "Scroll_XY_Alpha";
         Shader shader     = Service.Get <AssetManager>().Shaders.GetShader(shaderName);
         if (shader == null)
         {
             return;
         }
         this.effectMaterial = UnityUtils.CreateMaterial(shader);
         this.effectRadius.GetComponent <Renderer>().sharedMaterial = this.effectMaterial;
         this.effectMaterial.color = this.EFFECT_COLOR;
         this.effectMaterial.SetFloat("_tint", 0.9f);
         this.effectMaterial.SetFloat("_SpeedY", 0f);
         if (this.effectTexture != null)
         {
             this.AssignEffectMaterial();
             return;
         }
         if (this.effectHandle == AssetHandle.Invalid)
         {
             this.effectRadius.SetActive(false);
             TextureVO textureVO = Service.Get <IDataController>().Get <TextureVO>("effect_radius");
             Service.Get <AssetManager>().Load(ref this.effectHandle, textureVO.AssetName, new AssetSuccessDelegate(this.OnTextureLoaded), null, this.effectMaterial);
         }
     }
 }
예제 #4
0
        protected override void OnScreenLoaded()
        {
            this.InitButtons();
            this.playerNameLabel       = base.GetElement <UXLabel>("LabelPlayerName");
            this.attacksRemainingLabel = base.GetElement <UXLabel>("LabelAttacksRemaining");
            this.uplinksAvailableLabel = base.GetElement <UXLabel>("LabelUplinksAvailable");
            this.factionSprite         = base.GetElement <UXSprite>("SpriteFactionIcon");
            this.factionDefaultSprite  = base.GetElement <UXSprite>("SpriteFactionIconZero");
            this.playerDetailTexture   = base.GetElement <UXTexture>("TexturePlayerDetails");
            StaticDataController staticDataController = Service.StaticDataController;
            TextureVO            optional             = staticDataController.GetOptional <TextureVO>("squadwars_playerdetails_bg");

            if (optional != null)
            {
                this.playerDetailTexture.LoadTexture(optional.AssetName);
            }
            for (int i = 1; i <= 3; i++)
            {
                this.requirements.Add(base.GetElement <UXLabel>(string.Format("LabelStarRequirement{0}", i)));
                this.uplinks.Add(base.GetElement <UXSprite>(string.Format("SpriteUplink{0}", i)));
                this.checks.Add(base.GetElement <UXSprite>(string.Format("SpriteCheck{0}", i)));
                this.stars.Add(base.GetElement <UXElement>(string.Format("DamageStars{0}", i)));
            }
            this.RefreshView();
        }
예제 #5
0
        private void SetupCategory(string labelName, string stringUid, string textureName, string textureUid, int[] epList)
        {
            object[] args = Array.ConvertAll <int, object>(epList, (int item) => item);
            base.GetElement <UXLabel>(labelName).Text = this.lang.Get(stringUid, args);
            TextureVO optional = Service.StaticDataController.GetOptional <TextureVO>(textureUid);
            UXTexture element  = base.GetElement <UXTexture>(textureName);

            element.LoadTexture(optional.AssetName);
        }
예제 #6
0
        private void CreateSpawnGameObject()
        {
            MeshRenderer meshRenderer;
            MeshFilter   meshFilter;

            if (this.gameObject == null)
            {
                this.gameObject = new GameObject("SpawnProtectionView");
                meshRenderer    = this.gameObject.AddComponent <MeshRenderer>();
                meshFilter      = this.gameObject.AddComponent <MeshFilter>();
            }
            else
            {
                meshRenderer = this.gameObject.GetComponent <MeshRenderer>();
                meshFilter   = this.gameObject.GetComponent <MeshFilter>();
            }
            this.gameObject.SetActive(false);
            this.gameObject.transform.position = new Vector3(0f, 0.045f, 0f);
            this.gameObjectExists  = true;
            this.gameObjectVisible = false;
            meshFilter.sharedMesh  = this.mesh;
            if (this.material == null)
            {
                string shaderName = "Grid_Protection_PL";
                Shader shader     = Service.Get <AssetManager>().Shaders.GetShader(shaderName);
                if (shader == null)
                {
                    return;
                }
                this.material = UnityUtils.CreateMaterial(shader);
                meshRenderer.GetComponent <Renderer>().sharedMaterial = this.material;
                if (this.texture != null)
                {
                    this.material.mainTexture = this.texture;
                }
                else if (this.textureHandle == AssetHandle.Invalid)
                {
                    TextureVO textureVO = Service.Get <IDataController>().Get <TextureVO>("textureSpawnProtection1");
                    Service.Get <AssetManager>().Load(ref this.textureHandle, textureVO.AssetName, new AssetSuccessDelegate(this.OnTextureLoaded), null, null);
                }
            }
            this.material.SetFloat("_Speed", 0.4f);
            this.material.color                  = Color.black;
            this.animAlphaIn                     = new AnimColor(this.material, 1f, Color.black, Color.white);
            this.animAlphaIn.EaseFunction        = new Easing.EasingDelegate(Easing.QuintEaseOut);
            this.animAlphaOut                    = new AnimColor(this.material, 1f, Color.white, Color.black);
            this.animAlphaOut.Delay              = 3f;
            this.animAlphaOut.EaseFunction       = new Easing.EasingDelegate(Easing.QuintEaseIn);
            this.animAlphaOut.OnCompleteCallback = new Action <Anim>(this.OnAlphaOutComplete);
        }
        protected void PopulateBgTexture(string textureUid, string textureName)
        {
            TextureVO optional = Service.Get <IDataController>().GetOptional <TextureVO>(textureUid);

            if (optional == null)
            {
                Service.Get <StaRTSLogger>().WarnFormat("Cannot find texture with uid {0}", new object[]
                {
                    textureUid
                });
                return;
            }
            this.parent.GetElement <UXTexture>(textureName).LoadTexture(optional.AssetName);
        }
예제 #8
0
 private void LoadTexture(UXTexture texture, string textureID)
 {
     if (!string.IsNullOrEmpty(textureID))
     {
         texture.Visible = true;
         TextureVO optional = Service.StaticDataController.GetOptional <TextureVO>(textureID);
         if (optional != null)
         {
             texture.LoadTexture(optional.AssetName);
         }
     }
     else
     {
         texture.MainTexture = null;
         texture.Visible     = false;
     }
 }
예제 #9
0
        public TransportTroopEffect(Entity troopEntity, TroopTypeVO troopVO, Entity starportEntity, ViewFader entityFader, TransportTroopEffect.OnEffectFinished onFinished, bool showFullEffect)
        {
            this.troopVO        = troopVO;
            this.troopEntity    = troopEntity;
            this.starportEntity = starportEntity;
            this.entityFader    = entityFader;
            this.onFinished     = onFinished;
            this.showFullEffect = showFullEffect;
            if (showFullEffect)
            {
                TextureVO optional = Service.Get <IDataController>().GetOptional <TextureVO>("unittransport_event_troop_" + troopVO.TroopID);
                if (optional != null)
                {
                    GeometryTag geometryTag = new GeometryTag(troopVO, optional.AssetName);
                    Service.Get <EventManager>().SendEvent(EventId.TextureCreated, geometryTag);
                    AssetManager assetManager = Service.Get <AssetManager>();
                    assetManager.Load(ref this.troopHandle, geometryTag.assetName, new AssetSuccessDelegate(this.OnTroopCardLoaded), new AssetFailureDelegate(this.OnTroopCardLoadFailed), null);
                    assetManager.Load(ref this.effectHandle, "troop_card_spawn", new AssetSuccessDelegate(this.OnEffectLoaded), new AssetFailureDelegate(this.OnEffectLoadFailed), null);
                    this.loadedAssets = true;
                }
                else
                {
                    Service.Get <StaRTSLogger>().WarnFormat("Transport troop effect error: {0} not found in TextureData", new object[]
                    {
                        "unittransport_event_troop_" + troopVO.TroopID
                    });
                    this.showFullEffect = false;
                }
            }
            ShuttleAnim shuttleForStarport = Service.Get <ShuttleController>().GetShuttleForStarport(starportEntity);

            if (shuttleForStarport != null && shuttleForStarport.State == ShuttleState.Idle)
            {
                this.shuttle = shuttleForStarport;
            }
            else
            {
                Service.Get <EventManager>().RegisterObserver(this, EventId.ShuttleAnimStateChanged, EventPriority.Default);
            }
            Service.Get <EventManager>().RegisterObserver(this, EventId.BuildingMovedOnBoard, EventPriority.Default);
            Service.Get <EventManager>().RegisterObserver(this, EventId.BuildingReplaced, EventPriority.Default);
            this.timerId     = 0u;
            this.pathReached = false;
        }
예제 #10
0
        private void SetupTargetedOfferElements()
        {
            IDataController dataController = Service.Get <IDataController>();

            this.characterSprite1 = base.GetElement <UXSprite>("SpriteCharacter1");
            this.characterSprite2 = base.GetElement <UXSprite>("SpriteCharacter2");
            TextureVO optional = dataController.GetOptional <TextureVO>("gui_textures_promotional");

            if (optional != null)
            {
                UXTexture element = base.GetElement <UXTexture>("TexturePromoArt");
                element.LoadTexture(optional.AssetName);
            }
            optional = dataController.GetOptional <TextureVO>("targeted_bundle_entry");
            if (optional != null)
            {
                UXTexture element2 = base.GetElement <UXTexture>("TextureEnvironmentEntry");
                element2.LoadTexture(optional.AssetName);
            }
            optional = dataController.GetOptional <TextureVO>("targeted_bundle_treads");
            if (optional != null)
            {
                UXTexture element3 = base.GetElement <UXTexture>("TextureEnvironmentRight");
                element3.LoadTexture(optional.AssetName);
            }
            optional = dataController.GetOptional <TextureVO>("targeted_bundle_treads");
            if (optional != null)
            {
                UXTexture element4 = base.GetElement <UXTexture>("TextureEnvironmentLeft");
                element4.LoadTexture(optional.AssetName);
            }
            optional = dataController.GetOptional <TextureVO>("targeted_bundle_dust");
            if (optional != null)
            {
                UXTexture element5 = base.GetElement <UXTexture>("TextureEnvironmentDustRight");
                element5.LoadTexture(optional.AssetName);
                element5 = base.GetElement <UXTexture>("TextureEnvironmentDustLeft");
                element5.LoadTexture(optional.AssetName);
            }
            UXUtils.SetupAnimatedCharacter(this.characterSprite1, this.CurrentOffer.Character1Image, ref this.charGeometry1);
            UXUtils.SetupAnimatedCharacter(this.characterSprite2, this.CurrentOffer.Character2Image, ref this.charGeometry2);
        }
        protected void PopulateGrid(string[] rawSplit, string gridName, string itemName, string itemTextureName, string itemTitleName, string itemBodyName)
        {
            UXGrid element = this.parent.GetElement <UXGrid>(gridName);

            element.SetTemplateItem(itemName);
            int i   = 1;
            int num = rawSplit.Length;

            while (i < num)
            {
                string    itemUid = i.ToString();
                UXElement item    = element.CloneTemplateItem(itemUid);
                element.AddItem(item, i - 1);
                string[] array = rawSplit[i].Split(new char[]
                {
                    ','
                });
                UXTexture subElement = element.GetSubElement <UXTexture>(itemUid, itemTextureName);
                TextureVO optional   = Service.Get <IDataController>().GetOptional <TextureVO>(array[0]);
                if (optional == null)
                {
                    Service.Get <StaRTSLogger>().WarnFormat("Cannot find texture with uid {0}", new object[]
                    {
                        array[0]
                    });
                }
                else
                {
                    subElement.LoadTexture(optional.AssetName);
                }
                Lang lang = Service.Get <Lang>();
                element.GetSubElement <UXLabel>(itemUid, itemTitleName).Text = lang.Get(array[1], new object[0]);
                element.GetSubElement <UXLabel>(itemUid, itemBodyName).Text  = lang.Get(array[2], new object[0]);
                i++;
            }
            element.RepositionItems();
        }
예제 #12
0
        public void SetPerkImage(UXTexture perkImage, PerkVO perkVO)
        {
            FactionType faction = Service.CurrentPlayer.Faction;
            string      text    = string.Empty;

            if (faction == FactionType.Empire)
            {
                text = perkVO.TextureIdEmpire;
            }
            else
            {
                text = perkVO.TextureIdRebel;
            }
            if (!string.IsNullOrEmpty(text))
            {
                StaticDataController staticDataController = Service.StaticDataController;
                TextureVO            optional             = staticDataController.GetOptional <TextureVO>(text);
                if (optional != null && perkImage.Tag != optional)
                {
                    perkImage.LoadTexture(optional.AssetName);
                    perkImage.Tag = optional;
                }
            }
        }
예제 #13
0
        private void Refresh()
        {
            WarBuffVO         warBuffVO   = Service.Get <IDataController>().Get <WarBuffVO>(this.buffBaseData.BuffBaseId);
            SquadWarManager   warManager  = Service.Get <SquadController>().WarManager;
            SquadWarSquadData squadData   = warManager.GetSquadData(this.buffBaseData.OwnerId);
            FactionType       factionType = FactionType.Neutral;
            string            text        = this.buffBaseData.GetDisplayBaseLevel().ToString();

            if (squadData != null)
            {
                factionType = squadData.Faction;
            }
            string uid;
            string text2;

            if (factionType == FactionType.Empire)
            {
                uid   = warBuffVO.MasterEmpireBuildingUid;
                text2 = LangUtils.GetFactionName(factionType);
            }
            else if (factionType == FactionType.Rebel)
            {
                uid   = warBuffVO.MasterRebelBuildingUid;
                text2 = LangUtils.GetFactionName(factionType);
            }
            else
            {
                uid   = warBuffVO.MasterNeutralBuildingUid;
                text2 = this.lang.Get("BUFF_BASE_UNOWNED_FACTION_NAME", new object[0]);
            }
            this.spriteFactionIcon.SpriteName = UXUtils.GetIconNameFromFactionType(factionType);
            this.labelBuffBaseName.Text       = this.lang.Get("WAR_BOARD_BUFF_BASE_TITLE", new object[]
            {
                this.lang.Get(warBuffVO.BuffBaseName, new object[0]),
                LangUtils.GetPlanetDisplayName(warBuffVO.PlanetId)
            });
            this.labelBuffBaseLevel.Text = this.lang.Get("WAR_BOARD_BUFF_BASE_LEVEL", new object[]
            {
                text,
                text2
            });
            this.labelCaptureRequirement.Text = this.lang.Get("WAR_BOARD_BUFF_BASE_CAPTURE_REQUIREMENT", new object[0]);
            this.labelProduces.Text           = this.lang.Get("BUFF_BASE_PRODUCES", new object[0]);
            this.labelBuffDescription.Text    = this.lang.Get(warBuffVO.BuffStringDesc, new object[0]);
            this.labelLocked.Text             = this.lang.Get("PLANET_LOCKED_REQUIREMENT", new object[0]);
            this.labelLocked.Visible          = !Service.Get <CurrentPlayer>().IsPlanetUnlocked(warBuffVO.PlanetId);
            TextureVO       textureVO      = null;
            IDataController dataController = Service.Get <IDataController>();

            if (warBuffVO.PlanetId == GameConstants.TATOOINE_PLANET_UID)
            {
                textureVO = dataController.GetOptional <TextureVO>("squadwars_basedetails_tatooine");
            }
            else if (warBuffVO.PlanetId == GameConstants.YAVIN_PLANET_UID)
            {
                textureVO = dataController.GetOptional <TextureVO>("squadwars_basedetails_yavin");
            }
            else if (warBuffVO.PlanetId == GameConstants.DANDORAN_PLANET_UID)
            {
                textureVO = dataController.GetOptional <TextureVO>("squadwars_basedetails_dandoran");
            }
            else if (warBuffVO.PlanetId == GameConstants.ERKIT_PLANET_UID)
            {
                textureVO = dataController.GetOptional <TextureVO>("squadwars_basedetails_erkit");
            }
            else if (warBuffVO.PlanetId == GameConstants.TFA_PLANET_UID)
            {
                textureVO = dataController.GetOptional <TextureVO>("squadwars_basedetails_tfa");
            }
            else if (warBuffVO.PlanetId == GameConstants.HOTH_PLANET_UID)
            {
                textureVO = dataController.GetOptional <TextureVO>("squadwars_basedetails_hoth");
            }
            if (textureVO != null)
            {
                this.textureBaseDetail.LoadTexture(textureVO.AssetName);
            }
            BuildingTypeVO data = Service.Get <IDataController>().Get <BuildingTypeVO>(uid);

            UXUtils.SetupGeometryForIcon(this.spriteBuffBaseIcon, data);
            this.spriteBuffIcon.SpriteName = warBuffVO.BuffIcon;
            string empty = string.Empty;

            if (warManager.CanScoutBuffBase(this.buffBaseData, ref empty))
            {
                this.btnScout.VisuallyEnableButton();
                this.labelScout.TextColor = this.labelScout.OriginalTextColor;
                return;
            }
            this.btnScout.VisuallyDisableButton();
            this.labelScout.TextColor = UXUtils.COLOR_LABEL_DISABLED;
        }
예제 #14
0
        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");
            }
        }
예제 #15
0
        protected override void OnScreenLoaded()
        {
            SquadController squadController = Service.SquadController;
            bool            flag            = squadController.StateManager.GetCurrentSquad() != null;
            SquadRole       role            = squadController.StateManager.Role;
            bool            flag2           = role == SquadRole.Owner || role == SquadRole.Officer;
            int             highestLevelHQ  = Service.BuildingLookupController.GetHighestLevelHQ();

            this.InitButtons();
            UXLabel element = base.GetElement <UXLabel>("LabelTitle");

            element.Text = this.lang.Get("WAR_START_TITLE", new object[0]);
            string id;
            string id2;

            if (!flag)
            {
                id  = "WAR_START_DESCRIPTION_NOSQUAD";
                id2 = "WAR_START_BUTTON_TEXT_NOSQUAD";
            }
            else if (flag2)
            {
                if (highestLevelHQ >= GameConstants.WAR_PARTICIPANT_MIN_LEVEL)
                {
                    id  = "WAR_START_DESCRIPTION_OFFICER";
                    id2 = "WAR_START_BUTTON_TEXT";
                }
                else
                {
                    id  = "WAR_START_DESCRIPTION_OFFICER_INELIGIBLE";
                    id2 = "WAR_START_BUTTON_TEXT_NONOFFICER";
                }
            }
            else
            {
                this.LogMemberAttemptingWarStart();
                id  = "WAR_START_DESCRIPTION_NONOFFICER";
                id2 = "WAR_START_BUTTON_TEXT_NONOFFICER";
            }
            UXLabel element2 = base.GetElement <UXLabel>("LabelSquadWar");

            element2.Text = this.lang.Get(id, new object[]
            {
                highestLevelHQ
            });
            TextureVO optional = Service.StaticDataController.GetOptional <TextureVO>("gui_textures_squadwar_start");

            if (optional != null)
            {
                UXTexture element3 = base.GetElement <UXTexture>("SpriteNextImage");
                element3.LoadTexture(optional.AssetName);
            }
            UXLabel element4 = base.GetElement <UXLabel>("LabelBtnNext");

            element4.Text = this.lang.Get(id2, new object[0]);
            UXButton element5 = base.GetElement <UXButton>("BtnNext");

            element5.OnClicked = new UXButtonClickedDelegate(this.OnNextButtonClicked);
            UXButton element6 = base.GetElement <UXButton>("BtnInfo");

            element6.OnClicked = new UXButtonClickedDelegate(squadController.WarManager.ShowInfoScreen);
        }