public override void OnDestroyElement() { this.ResetScreen(); this.equipmentTabs = null; EventManager eventManager = Service.EventManager; eventManager.UnregisterObserver(this, EventId.EquipmentActivated); eventManager.UnregisterObserver(this, EventId.EquipmentDeactivated); base.OnDestroyElement(); }
public ArmoryScreen(Entity armoryBuilding) : base("gui_armory") { this.buildingInfo = ((armoryBuilding != null) ? armoryBuilding.Get <BuildingComponent>().BuildingType : null); this.equipmentTabs = new EquipmentTabHelper(); ArmoryScreen.qualityColor = new Dictionary <ShardQuality, Color>(); ArmoryScreen.qualityColor.Add(ShardQuality.Basic, ArmoryScreen.quality1); ArmoryScreen.qualityColor.Add(ShardQuality.Advanced, ArmoryScreen.quality2); ArmoryScreen.qualityColor.Add(ShardQuality.Elite, ArmoryScreen.quality3); this.activeCardID = 0; EventManager eventManager = Service.EventManager; eventManager.RegisterObserver(this, EventId.EquipmentActivated); eventManager.RegisterObserver(this, EventId.EquipmentDeactivated); }
private void PopulateEquipmentGrid() { EquipmentUpgradeCatalog equipmentUpgradeCatalog = Service.EquipmentUpgradeCatalog; CurrentPlayer currentPlayer = Service.CurrentPlayer; this.FindAllUpgradableEquipment(currentPlayer, equipmentUpgradeCatalog); int maxItemsPerLine = (this.equipmentToDisplay.Count + 1) / 2; this.equipmentGrid.MaxItemsPerLine = maxItemsPerLine; EquipmentTabHelper equipmentTabHelper = this.filterHelper as EquipmentTabHelper; EquipmentTab currentTab = (EquipmentTab)equipmentTabHelper.CurrentTab; List <UXElement> list = new List <UXElement>(); int i = 0; int count = this.equipmentToDisplay.Count; while (i < count) { EquipmentVO equipmentVO = this.equipmentToDisplay[i]; if (equipmentTabHelper.IsEquipmentValidForTab(equipmentVO, currentTab)) { if (this.contractHidden) { EquipmentVO nextLevel = equipmentUpgradeCatalog.GetNextLevel(equipmentVO); if (nextLevel.Uid == this.activeContract.ProductUid) { this.contractHidden = false; } } UXElement item = this.FetchEquipmentCardGridItem(currentPlayer, equipmentVO, equipmentUpgradeCatalog); list.Add(item); } i++; } UXUtils.SortListForTwoRowGrids(list, this.equipmentGrid); int j = 0; int count2 = list.Count; while (j < count2) { this.equipmentGrid.AddItem(list[j], j); j++; } list.Clear(); this.equipmentGrid.RepositionItemsFrameDelayed(new UXDragDelegate(this.FinishEquipmentGridSetup), 1); this.CheckActiveContract(); }
private void UpdateContractTimers() { if (this.activeContract == null || this.contractHidden) { return; } int remainingTimeForView = this.activeContract.GetRemainingTimeForView(); if (remainingTimeForView > 0) { UXSlider subElement; UXLabel subElement2; if (this.activeContract.DeliveryType == DeliveryType.UpgradeEquipment) { if (this.researchMode != TroopUpgradeScreenMode.Equipment) { return; } EquipmentVO vo = this.dataController.Get <EquipmentVO>(this.activeContract.ProductUid); EquipmentVO prevLevel = Service.EquipmentUpgradeCatalog.GetPrevLevel(vo); EquipmentTabHelper equipmentTabHelper = this.filterHelper as EquipmentTabHelper; if (!equipmentTabHelper.IsEquipmentValidForTab(vo, (EquipmentTab)equipmentTabHelper.CurrentTab)) { return; } subElement = this.equipmentGrid.GetSubElement <UXSlider>(prevLevel.Uid, "pBarUpgradeTimeEquipment"); subElement2 = this.equipmentGrid.GetSubElement <UXLabel>(prevLevel.Uid, "LabelpBarUpgradeTimeEquipment"); this.equipmentGrid.GetSubElement <UXLabel>(prevLevel.Uid, "LabelEquipmentName").Visible = false; this.equipmentGrid.GetSubElement <UXLabel>(prevLevel.Uid, "LabelEquipmentNumber").Visible = false; this.equipmentGrid.GetSubElement <UXSlider>(prevLevel.Uid, "pBarFrag").Visible = false; this.equipmentGrid.GetSubElement <UXElement>(prevLevel.Uid, "IconUpgrade").Visible = false; } else { if (this.researchMode != TroopUpgradeScreenMode.Troops) { return; } UXButton optionalSubElement = this.troopGrid.GetOptionalSubElement <UXButton>(this.activeContract.ProductUid, "ButtonTroopItemCard"); if (optionalSubElement == null) { return; } TroopUpgradeTag troopUpgradeTag = (TroopUpgradeTag)optionalSubElement.Tag; string text = "pBarUpgradeTime"; string text2 = "LabelpBarUpgradeTime"; if (!string.IsNullOrEmpty(troopUpgradeTag.Troop.UpgradeShardUid)) { text += "Quality"; text2 += "Quality"; } subElement = this.troopGrid.GetSubElement <UXSlider>(this.activeContract.ProductUid, text); subElement2 = this.troopGrid.GetSubElement <UXLabel>(this.activeContract.ProductUid, text2); } subElement.Value = 1f - (float)remainingTimeForView / (float)this.activeContract.TotalTime; if (!subElement.Visible) { subElement.Visible = true; } subElement2.Text = GameUtils.GetTimeLabelFromSeconds(remainingTimeForView); if (!subElement2.Visible) { subElement2.Visible = true; } } else { this.activeContract = null; this.DisableTimers(); this.RefreshGrids(); } }