CvUnit::canBuildRoute() const
- Defined in
- CvUnit.cpp, line 11705
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_canBuildRoute
Hooks
static bool BeforeCvUnit_canBuildRoute(const CvUnit* self, bool& result);static void AfterCvUnit_canBuildRoute(const CvUnit* self, bool& result);static bool ReplaceCvUnit_canBuildRoute(bool (*original)(const CvUnit*), const CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_canBuildRoute>(host, &BeforeCvUnit_canBuildRoute);CivRegisterAfter<CivHooks::CvUnit_canBuildRoute>(host, &AfterCvUnit_canBuildRoute);CivRegisterReplace<CivHooks::CvUnit_canBuildRoute>(host, &ReplaceCvUnit_canBuildRoute);
Code
11705bool CvUnit::canBuildRoute() const11706{11707 VALIDATE_OBJECT1170811709 if(m_bEmbarked)11710 {11711 return false;11712 }1171311714 CvTeam& thisTeam = GET_TEAM(getTeam());1171511716 CvTeamTechs* pTeamTechs = thisTeam.GetTeamTechs();1171711718 int iNumBuildInfos = GC.getNumBuildInfos();11719 for(int iI = 0; iI < iNumBuildInfos; iI++)11720 {11721 CvBuildInfo* thisBuildInfo = GC.getBuildInfo((BuildTypes)iI);11722#if defined(MOD_GLOBAL_ALPINE_PASSES)11723 // Don't count routes that come as part of an improvement11724 if(NULL != thisBuildInfo && thisBuildInfo->getImprovement() == NO_IMPROVEMENT && thisBuildInfo->getRoute() != NO_ROUTE)11725#else11726 if(NULL != thisBuildInfo && thisBuildInfo->getRoute() != NO_ROUTE)11727#endif11728 {11729 if(m_pUnitInfo->GetBuilds(iI))11730 {11731 if(pTeamTechs->HasTech((TechTypes)(thisBuildInfo->getTechPrereq())))11732 {11733 return true;11734 }11735 }11736 }11737 }1173811739 return false;11740}
Calls
- CvBuildInfo::getImprovement() const
- CvBuildInfo::getRoute() const
- CvBuildInfo::getTechPrereq() const
- CvGlobals::getBuildInfo(BuildTypes)
- CvGlobals::getNumBuildInfos()
- CvTeam::getTeam(TeamTypes)
- CvTeam::GetTeamTechs() const
- CvTeamTechs::HasTech(TechTypes) const
- CvUnit::getTeam() const
- CvUnitEntry::GetBuilds(int) const
FAutoVariable::operator const bool &