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}