Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
            }
        }