Bazaar developer reference

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

Called by