Bazaar developer reference

CvPlayer::IsCityConnectedToCity(CvCity *, CvCity *, RouteTypes, bool)

Defined in
CvPlayer.cpp, line 5775
Class
CvPlayer
Hook name
CivHooks::CvPlayer_IsCityConnectedToCity

Hooks

static bool BeforeCvPlayer_IsCityConnectedToCity(CvPlayer* self, CvCity* pCity1, CvCity* pCity2, RouteTypes eRestrictRoute, bool bIgnoreHarbors, bool& result);static void AfterCvPlayer_IsCityConnectedToCity(CvPlayer* self, CvCity* pCity1, CvCity* pCity2, RouteTypes eRestrictRoute, bool bIgnoreHarbors, bool& result);static bool ReplaceCvPlayer_IsCityConnectedToCity(bool (*original)(CvPlayer*, CvCity*, CvCity*, RouteTypes, bool), CvPlayer* self, CvCity* pCity1, CvCity* pCity2, RouteTypes eRestrictRoute, bool bIgnoreHarbors);CivRegisterBefore<CivHooks::CvPlayer_IsCityConnectedToCity>(host, &BeforeCvPlayer_IsCityConnectedToCity);CivRegisterAfter<CivHooks::CvPlayer_IsCityConnectedToCity>(host, &AfterCvPlayer_IsCityConnectedToCity);CivRegisterReplace<CivHooks::CvPlayer_IsCityConnectedToCity>(host, &ReplaceCvPlayer_IsCityConnectedToCity);

Code

5775bool CvPlayer::IsCityConnectedToCity(CvCity* pCity1, CvCity* pCity2, RouteTypes eRestrictRoute, bool bIgnoreHarbors)5776{5777#if defined(MOD_API_EXTENSIONS)5778	return IsPlotConnectedToPlot(pCity1->plot(), pCity2->plot(), eRestrictRoute, bIgnoreHarbors);5779#else5780	int iPathfinderFlags = GetID() | MOVE_ROUTE_ALLOW_UNEXPLORED;	// Since we just want to know if we are connected or not, allow the check to search unexplored terrain.5781	if(eRestrictRoute == NO_ROUTE)5782	{5783		iPathfinderFlags |= MOVE_ANY_ROUTE;5784	}5785	else5786	{5787		// assuming that there are fewer than 256 players5788		int iRouteValue = eRestrictRoute + 1;5789		iPathfinderFlags |= (iRouteValue << 8);5790	}57915792	if (bIgnoreHarbors)5793	{5794		GC.getRouteFinder().SetNumExtraChildrenFunc(NULL);5795		GC.getRouteFinder().SetExtraChildGetterFunc(NULL);5796	}57975798	GC.getRouteFinder().ForceReset();5799	bool bReturnValue = GC.getRouteFinder().GeneratePath(pCity1->getX(), pCity1->getY(), pCity2->getX(), pCity2->getY(), iPathfinderFlags, false);58005801	if (bIgnoreHarbors)5802	{5803		// reconnect the land route pathfinder water methods5804		GC.getRouteFinder().SetNumExtraChildrenFunc(RouteGetNumExtraChildren);5805		GC.getRouteFinder().SetExtraChildGetterFunc(RouteGetExtraChild);5806	}58075808	return bReturnValue;5809#endif5810}

Calls

Called by