Bazaar developer reference

CvPlayer::getBestRoute(CvPlot *) const

Defined in
CvPlayer.cpp, line 9552
Class
CvPlayer
Hook name
CivHooks::CvPlayer_getBestRoute

Hooks

static bool BeforeCvPlayer_getBestRoute(const CvPlayer* self, CvPlot* pPlot, RouteTypes& result);static void AfterCvPlayer_getBestRoute(const CvPlayer* self, CvPlot* pPlot, RouteTypes& result);static RouteTypes ReplaceCvPlayer_getBestRoute(RouteTypes (*original)(const CvPlayer*, CvPlot*), const CvPlayer* self, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvPlayer_getBestRoute>(host, &BeforeCvPlayer_getBestRoute);CivRegisterAfter<CivHooks::CvPlayer_getBestRoute>(host, &AfterCvPlayer_getBestRoute);CivRegisterReplace<CivHooks::CvPlayer_getBestRoute>(host, &ReplaceCvPlayer_getBestRoute);

Code

9552RouteTypes CvPlayer::getBestRoute(CvPlot* pPlot) const9553{9554	RouteTypes eRoute;9555	RouteTypes eBestRoute;9556	int iValue;9557	int iBestValue;9558	int iI;95599560	iBestValue = 0;9561	eBestRoute = NO_ROUTE;95629563	for(iI = 0; iI < GC.getNumBuildInfos(); iI++)9564	{9565		const BuildTypes eBuild = static_cast<BuildTypes>(iI);9566		CvBuildInfo* pkBuildInfo = GC.getBuildInfo(eBuild);9567		if(pkBuildInfo)9568		{9569			eRoute = ((RouteTypes)(pkBuildInfo->getRoute()));9570			if(eRoute != NO_ROUTE)9571			{9572				CvRouteInfo* pkRouteInfo = GC.getRouteInfo(eRoute);9573				if(pkRouteInfo)9574				{9575					if((pPlot != NULL) ? ((pPlot->getRouteType() == eRoute) || canBuild(pPlot, eBuild)) : GET_TEAM(getTeam()).GetTeamTechs()->HasTech((TechTypes)(pkBuildInfo->getTechPrereq())))9576					{9577						iValue = pkRouteInfo->getValue();95789579						if(iValue > iBestValue)9580						{9581							iBestValue = iValue;9582							eBestRoute = eRoute;9583						}9584					}9585				}9586			}9587		}9588	}95899590	return eBestRoute;9591}

Calls

Called by