CvCity::CountWorkedResource(ResourceTypes) const
- Defined in
- CvCity.cpp, line 17975
- Class
- CvCity
- Hook name
CivHooks::CvCity_CountWorkedResource
Hooks
static bool BeforeCvCity_CountWorkedResource(const CvCity* self, ResourceTypes iResourceType, int& result);static void AfterCvCity_CountWorkedResource(const CvCity* self, ResourceTypes iResourceType, int& result);static int ReplaceCvCity_CountWorkedResource(int (*original)(const CvCity*, ResourceTypes), const CvCity* self, ResourceTypes iResourceType);CivRegisterBefore<CivHooks::CvCity_CountWorkedResource>(host, &BeforeCvCity_CountWorkedResource);CivRegisterAfter<CivHooks::CvCity_CountWorkedResource>(host, &AfterCvCity_CountWorkedResource);CivRegisterReplace<CivHooks::CvCity_CountWorkedResource>(host, &ReplaceCvCity_CountWorkedResource);
Code
17975int CvCity::CountWorkedResource(ResourceTypes iResourceType) const17976{17977 int iCount = 0;17978 int iX = getX(); int iY = getY(); int iOwner = getOwner();1797917980#if defined(MOD_GLOBAL_CITY_WORKING)17981 for (int iCityPlotLoop = 0; iCityPlotLoop < GetNumWorkablePlots(); iCityPlotLoop++)17982#else17983 for (int iCityPlotLoop = 0; iCityPlotLoop < NUM_CITY_PLOTS; iCityPlotLoop++)17984#endif17985 {17986 CvPlot* pLoopPlot = plotCity(iX, iY, iCityPlotLoop);1798717988 // Invalid plot or not owned by this player17989 if (pLoopPlot == NULL || pLoopPlot->getOwner() != iOwner) {17990 continue;17991 }1799217993 // Not being worked by this city17994 if (pLoopPlot->getWorkingCity() != this || !pLoopPlot->isBeingWorked()) {17995 continue;17996 }1799717998 if (pLoopPlot->HasResource(iResourceType)) {17999 ++iCount;18000 }18001 }18002 18003 return iCount;18004}