Exemple #1
0
    /// <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;
            }
        }
    }