Bazaar developer reference

CvCityConnections::ConnectPlotRoute(CvPlot *)

Defined in
CvCityConnections.cpp, line 691
Class
CvCityConnections
Hook name
CivHooks::CvCityConnections_ConnectPlotRoute

Hooks

static bool BeforeCvCityConnections_ConnectPlotRoute(CvCityConnections* self, CvPlot* pPlot);static void AfterCvCityConnections_ConnectPlotRoute(CvCityConnections* self, CvPlot* pPlot);static void ReplaceCvCityConnections_ConnectPlotRoute(void (*original)(CvCityConnections*, CvPlot*), CvCityConnections* self, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvCityConnections_ConnectPlotRoute>(host, &BeforeCvCityConnections_ConnectPlotRoute);CivRegisterAfter<CivHooks::CvCityConnections_ConnectPlotRoute>(host, &AfterCvCityConnections_ConnectPlotRoute);CivRegisterReplace<CivHooks::CvCityConnections_ConnectPlotRoute>(host, &ReplaceCvCityConnections_ConnectPlotRoute);

Code

691void CvCityConnections::ConnectPlotRoute(CvPlot* pPlot)692{693	int iPlotIndex = pPlot->GetPlotIndex();694	uint uiTargetIndex = MAX_UNSIGNED_INT;695696	for(uint ui = 0; ui < m_aPlotRouteInfos.size(); ui++)697	{698		if(m_aPlotRouteInfos[ui].m_iPlotIndex == iPlotIndex)699		{700			uiTargetIndex = ui;701			break;702		}703		else if(uiTargetIndex == MAX_UNSIGNED_INT && m_aPlotRouteInfos[ui].m_bPlotRouteState == NO_CONNECTION)704		{705			uiTargetIndex = ui;706		}707	}708709	if(uiTargetIndex >= m_aPlotRouteInfos.size())710	{711		uiTargetIndex = m_aPlotRouteInfos.size();712		PlotRouteInfo info;713		m_aPlotRouteInfos.push_back(info);714		m_aPlotRouteInfos[uiTargetIndex].m_bPlotRouteState = 0;715	}716717	m_aPlotRouteInfos[uiTargetIndex].m_iPlotIndex = iPlotIndex;718	m_aPlotRouteInfos[uiTargetIndex].m_bPlotRouteState |= CONNECTION;719}

Calls

Called by