當前位置: 首頁>>代碼示例>>Python>>正文


Python PlayerUtil.isSaltWaterPort方法代碼示例

本文整理匯總了Python中PlayerUtil.isSaltWaterPort方法的典型用法代碼示例。如果您正苦於以下問題:Python PlayerUtil.isSaltWaterPort方法的具體用法?Python PlayerUtil.isSaltWaterPort怎麽用?Python PlayerUtil.isSaltWaterPort使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在PlayerUtil的用法示例。


在下文中一共展示了PlayerUtil.isSaltWaterPort方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: canCityBuildUnit

# 需要導入模塊: import PlayerUtil [as 別名]
# 或者: from PlayerUtil import isSaltWaterPort [as 別名]
def canCityBuildUnit(unitInfo, city, eAskingTeam, checkBonuses=True):
    # religion
    if unitInfo.isPrereqReligion():
        if not city or city.getReligionCount() > 0:
            # EF: Seems odd to enforce NO religions in the city,
            #     but this is how CvPlot.canTrain() does it.
            #     The function should actually be called isPrereqNoReligion().
            return False
    eReligion = unitInfo.getPrereqReligion()
    if eReligion != -1 and not (city and city.isHasReligion(eReligion)):
        return False
        # corporation
    eCorp = unitInfo.getPrereqCorporation()
    if eCorp != -1 and not (city and city.isActiveCorporation(eCorp)):
        return False
        # skipping isPrereqBonuses as the land part looks broken
        # and we don't want to limit work boats if all resources are covered
        # domain
    if unitInfo.getDomainType() == DomainTypes.DOMAIN_SEA:
        if not (city and PlayerUtil.isSaltWaterPort(city, eAskingTeam)):
            return False
            # EF: this is how CyPlot does it
            # plot = city.plot()
            # if not plot.isWater() or not plot.isCoastalLand(unitInfo.getMinAreaSize()):
            # 	continue
    else:
        minArea = unitInfo.getMinAreaSize()
        if minArea != -1:
            if eAskingTeam != -1 or not city or city.plot().area().getNumTiles() < minArea:
                return False
                # holy city
    eReligion = unitInfo.getHolyCity()
    if eReligion != -1 and not (city and city.isHolyCity(eReligion)):
        return False
        # building
    eBuilding = unitInfo.getPrereqBuilding()
    if eBuilding != -1:
        if eAskingTeam != -1 or not city:
            return False
        if city.getNumBuilding(eBuilding) == 0:
            eSpecialBuilding = gc.getBuildingInfo(eBuilding).getSpecialBuildingType()
            if eSpecialBuilding == -1 or not gc.getPlayer(city.getOwner()).isSpecialBuildingNotRequired(
                eSpecialBuilding
            ):
                return False
                # resources
    if checkBonuses and not cityHasBonusesForUnit(unitInfo, city):
        return False
        # passes all tests for this city
    return True
開發者ID:,項目名稱:,代碼行數:52,代碼來源:


注:本文中的PlayerUtil.isSaltWaterPort方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。