/// <summary> /// 根据条件展示建筑(每出生一个兵调用,待优化) /// </summary> /// <param name="isShow"></param> public void ShowBuildings(bool isShow) { if (BuildingList == null) { return; } BuildingList.SetActive(isShow); if (isShow == false) { return; //根据我方兵力展示各种建筑 } int lastBuildingId = 0; UnitBuilding lastBuilding; foreach (MogoUIBtn btn in BuildingTypeList) { if (curSoldierEnergy >= BuildingData.dataMap[(int)btn.IDUint64].building_consume) { lastBuildingId = GetLastBuildingId((int)btn.IDUint64); if (lastBuildingId != 0)//有上级建筑,判断当前星球上级建筑是否存在 { lastBuilding = curStar.GetBuildingById(lastBuildingId); if (lastBuilding != null && lastBuilding.IsBuilding == false)//有上级建筑且已经建成 { btn.IsEnabled = true; } else { btn.IsEnabled = false; } } else { if (curStar.GetBuildingNum() < curStar.BaseData.count)//建筑数量未达到上限 { btn.IsEnabled = true; } else { btn.IsEnabled = false; } } } else { btn.IsEnabled = false; } } }