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
- CvCity::GetNumWorkablePlots(int) const
- CvCity::getOwner() const
- CvCity::getTeam() const
- CvCity::getX() const
- CvCity::getY() const
- CvPlot::getOwner() const
- CvPlot::getResourceType(TeamTypes) const
- CvPlot::getWorkingCity() const
- CvPlot::HasResource(ResourceTypes) const
- CvPlot::isBeingWorked() const
- plotCity(int, int, int)