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
- CvBuildInfo::getRoute() const
- CvBuildInfo::getTechPrereq() const
- CvGlobals::getBuildInfo(BuildTypes)
- CvGlobals::getNumBuildInfos()
- CvGlobals::getRouteInfo(RouteTypes)
- CvPlayer::canBuild(const CvPlot *, BuildTypes, bool, bool, bool, bool) const
- CvPlayer::getTeam() const
- CvPlot::getRouteType() const
- CvRouteInfo::getValue() const
- CvTeam::getTeam(TeamTypes)
- CvTeam::GetTeamTechs() const
- CvTeamTechs::HasTech(TechTypes) const