Bazaar developer reference

CvCity::HasWorkedResource(ResourceTypes) const

Defined in
CvCity.cpp, line 17446
Class
CvCity
Hook name
CivHooks::CvCity_HasWorkedResource

Hooks

static bool BeforeCvCity_HasWorkedResource(const CvCity* self, ResourceTypes iResourceType, bool& result);static void AfterCvCity_HasWorkedResource(const CvCity* self, ResourceTypes iResourceType, bool& result);static bool ReplaceCvCity_HasWorkedResource(bool (*original)(const CvCity*, ResourceTypes), const CvCity* self, ResourceTypes iResourceType);CivRegisterBefore<CivHooks::CvCity_HasWorkedResource>(host, &BeforeCvCity_HasWorkedResource);CivRegisterAfter<CivHooks::CvCity_HasWorkedResource>(host, &AfterCvCity_HasWorkedResource);CivRegisterReplace<CivHooks::CvCity_HasWorkedResource>(host, &ReplaceCvCity_HasWorkedResource);

Code

17446bool CvCity::HasWorkedResource(ResourceTypes iResourceType) const17447{17448	int iX = getX(); int iY = getY(); int iOwner = getOwner();1744917450#if defined(MOD_GLOBAL_CITY_WORKING)17451	for (int iCityPlotLoop = 0; iCityPlotLoop < GetNumWorkablePlots(); iCityPlotLoop++)17452#else17453	for (int iCityPlotLoop = 0; iCityPlotLoop < NUM_CITY_PLOTS; iCityPlotLoop++)17454#endif17455	{17456		CvPlot* pLoopPlot = plotCity(iX, iY, iCityPlotLoop);1745717458		// Invalid plot or not owned by this player17459		if (pLoopPlot == NULL || pLoopPlot->getOwner() != iOwner) {17460			continue;17461		}1746217463		// Team can't see the resource here17464		if (pLoopPlot->getResourceType(getTeam()) != iResourceType) {17465			continue;17466		}1746717468		// Not being worked by this city17469		if (pLoopPlot->getWorkingCity() != this || !pLoopPlot->isBeingWorked()) {17470			continue;17471		}1747217473		if (pLoopPlot->HasResource(iResourceType)) {17474			return true;17475		}17476	}1747717478	return false;17479}

Calls

Called by