Bazaar developer reference

CvCity::CountResource(ResourceTypes) const

Defined in
CvCity.cpp, line 17944
Class
CvCity
Hook name
CivHooks::CvCity_CountResource

Hooks

static bool BeforeCvCity_CountResource(const CvCity* self, ResourceTypes iResourceType, int& result);static void AfterCvCity_CountResource(const CvCity* self, ResourceTypes iResourceType, int& result);static int ReplaceCvCity_CountResource(int (*original)(const CvCity*, ResourceTypes), const CvCity* self, ResourceTypes iResourceType);CivRegisterBefore<CivHooks::CvCity_CountResource>(host, &BeforeCvCity_CountResource);CivRegisterAfter<CivHooks::CvCity_CountResource>(host, &AfterCvCity_CountResource);CivRegisterReplace<CivHooks::CvCity_CountResource>(host, &ReplaceCvCity_CountResource);

Code

17944int CvCity::CountResource(ResourceTypes iResourceType) const17945{17946	int iCount = 0;17947	int iX = getX(); int iY = getY(); int iOwner = getOwner();1794817949#if defined(MOD_GLOBAL_CITY_WORKING)17950	for (int iCityPlotLoop = 0; iCityPlotLoop < GetNumWorkablePlots(); iCityPlotLoop++)17951#else17952	for (int iCityPlotLoop = 0; iCityPlotLoop < NUM_CITY_PLOTS; iCityPlotLoop++)17953#endif17954	{17955		CvPlot* pLoopPlot = plotCity(iX, iY, iCityPlotLoop);1795617957		// Invalid plot or not owned by this player17958		if (pLoopPlot == NULL || pLoopPlot->getOwner() != iOwner) {17959			continue;17960		}1796117962		// Not owned by this city17963		if (pLoopPlot->getWorkingCity() != this) {17964			continue;17965		}1796617967		if (pLoopPlot->HasResource(iResourceType)) {17968			++iCount;17969		}17970	}17971	17972	return iCount;17973}

Calls

Called by