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(); }
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); } } }
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); } } }
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(); }
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); }
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); }
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; } }
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; }
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(); }
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; } } }
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; }
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"); } }
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); }