Esempio n. 1
0
        /// <summary>
        /// Update the whole user interface.
        /// </summary>
        private void UpdateUI()
        {
            // Don't update if the player didn't selected a building.
            if (CurrentSelectedBuilding == null)
            {
                return;
            }

            BuildingNameText.text = CurrentSelectedBuilding.GetData.Name;
            BuildingImage.sprite  = CurrentSelectedBuilding.GetData.BuldingTexture;

            BuildingNameText2.text = CurrentSelectedBuilding.GetData.Name;
            BuildingImage2.sprite  = CurrentSelectedBuilding.GetData.BuldingTexture;
            UpdateLevel();

            if (!CurrentSelectedBuilding.IsBuiltHandler)
            {
                foreach (UISlot slot in BuildingSlots)
                {
                    slot.SetDefaultSprite();
                    slot.RemoveUnit();
                }

                for (int i = 0; i < CurrentSelectedBuilding.GetUnitIDs.Count; i++)
                {
                    BuildingSlots[i].Init(Unit.Units[CurrentSelectedBuilding.GetUnitIDs[i]].GetUnitData.Icon, CurrentSelectedBuilding.GetUnitIDs[i]);
                }
            }

            UpdateLifeBar();


            foreach (var HudElement in UIBuildingElements)
            {
                HudElement.SetActive(false);
            }


            if (!CurrentSelectedBuilding.IsBuiltHandler)
            {
                return;
            }

            if (CurrentSelectedBuilding is Storage)
            {
                UIBuildingElements[(int)EBuilding.Storage].SetActive(true);
            }
            if (CurrentSelectedBuilding is Farm)
            {
                UIBuildingElements[(int)EBuilding.Farm].SetActive(true);
                UIBuildingElements[(int)EBuilding.Farm].GetComponent <UIFarm>().UpdateUI(CurrentSelectedBuilding as Farm);
            }
            if (CurrentSelectedBuilding is Base)
            {
                UIBuildingElements[(int)EBuilding.Base].SetActive(true);
                UIBuildingElements[(int)EBuilding.Base].GetComponent <UIBase>().SetSlotEntrance(MapGenerator.GetGroundFromGlobalPosition(CurrentSelectedBuilding.GetEntrancePoss()));
            }

            if (CurrentSelectedBuilding is Scrap)
            {
                UIBuildingElements[(int)EBuilding.Scrap].SetActive(true);
                UIBuildingElements[(int)EBuilding.Scrap].GetComponent <UIScrap>().UpdateUI(CurrentSelectedBuilding as Scrap);
            }

            if (CurrentSelectedBuilding is House)
            {
                UIBuildingElements[(int)EBuilding.House].SetActive(true);
                UIBuildingElements[(int)EBuilding.House].GetComponent <UIHouse>().UpdateUI(CurrentSelectedBuilding as House);
            }

            if (CurrentSelectedBuilding is Hospital)
            {
                UIBuildingElements[(int)EBuilding.Hospital].SetActive(true);
                UIBuildingElements[(int)EBuilding.Hospital].GetComponent <UIHospital>().UpdateUI(CurrentSelectedBuilding as Hospital);
            }
        }