Bazaar developer reference

CvCity::HasWorkedTerrain(TerrainTypes) const

Defined in
CvCity.cpp, line 17535
Class
CvCity
Hook name
CivHooks::CvCity_HasWorkedTerrain

Hooks

static bool BeforeCvCity_HasWorkedTerrain(const CvCity* self, TerrainTypes iTerrainType, bool& result);static void AfterCvCity_HasWorkedTerrain(const CvCity* self, TerrainTypes iTerrainType, bool& result);static bool ReplaceCvCity_HasWorkedTerrain(bool (*original)(const CvCity*, TerrainTypes), const CvCity* self, TerrainTypes iTerrainType);CivRegisterBefore<CivHooks::CvCity_HasWorkedTerrain>(host, &BeforeCvCity_HasWorkedTerrain);CivRegisterAfter<CivHooks::CvCity_HasWorkedTerrain>(host, &AfterCvCity_HasWorkedTerrain);CivRegisterReplace<CivHooks::CvCity_HasWorkedTerrain>(host, &ReplaceCvCity_HasWorkedTerrain);

Code

17535bool CvCity::HasWorkedTerrain(TerrainTypes iTerrainType) const17536{17537	int iX = getX(); int iY = getY(); int iOwner = getOwner();1753817539#if defined(MOD_GLOBAL_CITY_WORKING)17540	for (int iCityPlotLoop = 0; iCityPlotLoop < GetNumWorkablePlots(); iCityPlotLoop++)17541#else17542	for (int iCityPlotLoop = 0; iCityPlotLoop < NUM_CITY_PLOTS; iCityPlotLoop++)17543#endif17544	{17545		CvPlot* pLoopPlot = plotCity(iX, iY, iCityPlotLoop);1754617547		// Invalid plot or not owned by this player17548		if (pLoopPlot == NULL || pLoopPlot->getOwner() != iOwner) {17549			continue;17550		}1755117552		// Not being worked by this city17553		if (pLoopPlot->getWorkingCity() != this || !pLoopPlot->isBeingWorked()) {17554			continue;17555		}1755617557		if (pLoopPlot->HasTerrain(iTerrainType)) {17558			return true;17559		}17560	}1756117562	return false;17563}

Calls

Called by