Bazaar developer reference

CvUnit::UnitRoadTo(int, int, int)

Defined in
CvUnit.cpp, line 23219
Class
CvUnit
Hook name
CivHooks::CvUnit_UnitRoadTo

Hooks

static bool BeforeCvUnit_UnitRoadTo(CvUnit* self, int iX, int iY, int iFlags, bool& result);static void AfterCvUnit_UnitRoadTo(CvUnit* self, int iX, int iY, int iFlags, bool& result);static bool ReplaceCvUnit_UnitRoadTo(bool (*original)(CvUnit*, int, int, int), CvUnit* self, int iX, int iY, int iFlags);CivRegisterBefore<CivHooks::CvUnit_UnitRoadTo>(host, &BeforeCvUnit_UnitRoadTo);CivRegisterAfter<CivHooks::CvUnit_UnitRoadTo>(host, &AfterCvUnit_UnitRoadTo);CivRegisterReplace<CivHooks::CvUnit_UnitRoadTo>(host, &ReplaceCvUnit_UnitRoadTo);

Code

23218// Returns true if move was made...23219bool CvUnit::UnitRoadTo(int iX, int iY, int iFlags)23220{23221	VALIDATE_OBJECT23222	CvPlot* pPlot;23223	RouteTypes eBestRoute;23224	BuildTypes eBestBuild;2322523226	if(!IsAutomated() || !at(iX, iY) || (GetLengthMissionQueue() == 1))23227	{23228		pPlot = plot();2322923230		eBestRoute = GetBestBuildRoute(pPlot, &eBestBuild);2323123232		if(eBestBuild != NO_BUILD)23233		{23234			UnitBuild(eBestBuild);23235			return true;23236		}23237	}2323823239	bool bWasMoveMade = ( UnitPathTo(iX, iY, iFlags, -1, true) > 0 );23240	if(bWasMoveMade)23241	{23242		PublishQueuedVisualizationMoves();23243	}2324423245	return bWasMoveMade;23246}

Calls

Called by