/// <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); } }