CvCity::countNumImprovedPlots(ImprovementTypes, bool) const
- Defined in
- CvCity.cpp, line 2271
- Class
- CvCity
- Hook name
CivHooks::CvCity_countNumImprovedPlots
Hooks
static bool BeforeCvCity_countNumImprovedPlots(const CvCity* self, ImprovementTypes eImprovement, bool bPotential, int& result);static void AfterCvCity_countNumImprovedPlots(const CvCity* self, ImprovementTypes eImprovement, bool bPotential, int& result);static int ReplaceCvCity_countNumImprovedPlots(int (*original)(const CvCity*, ImprovementTypes, bool), const CvCity* self, ImprovementTypes eImprovement, bool bPotential);CivRegisterBefore<CivHooks::CvCity_countNumImprovedPlots>(host, &BeforeCvCity_countNumImprovedPlots);CivRegisterAfter<CivHooks::CvCity_countNumImprovedPlots>(host, &AfterCvCity_countNumImprovedPlots);CivRegisterReplace<CivHooks::CvCity_countNumImprovedPlots>(host, &ReplaceCvCity_countNumImprovedPlots);
Code
2271int CvCity::countNumImprovedPlots(ImprovementTypes eImprovement, bool bPotential) const2272{2273 VALIDATE_OBJECT2274 CvPlot* pLoopPlot;2275 int iCount;2276 int iI;22772278 iCount = 0;22792280 CvCityCitizens* pCityCitizens = GetCityCitizens();22812282#if defined(MOD_GLOBAL_CITY_WORKING)2283 for(iI = 0; iI < GetNumWorkablePlots(); iI++)2284#else2285 for(iI = 0; iI < NUM_CITY_PLOTS; iI++)2286#endif2287 {2288 pLoopPlot = pCityCitizens->GetCityPlotFromIndex(iI);22892290 if(pLoopPlot != NULL)2291 {2292 if(pLoopPlot->getWorkingCity() == this)2293 {2294 if(eImprovement != NO_IMPROVEMENT)2295 {2296 if((pLoopPlot->getImprovementType() == eImprovement && !pLoopPlot->IsImprovementPillaged()) || (bPotential && pLoopPlot->canHaveImprovement(eImprovement, getTeam())))2297 {2298 ++iCount;2299 }2300 }2301 else if(pLoopPlot->getImprovementType() != NO_IMPROVEMENT && !pLoopPlot->IsImprovementPillaged())2302 {2303 iCount++;2304 }2305 }2306 }2307 }23082309 return iCount;2310}
Calls
- CvCity::GetCityCitizens() const
- CvCity::GetNumWorkablePlots(int) const
- CvCity::getTeam() const
- CvCityCitizens::GetCityPlotFromIndex(int) const
- CvPlot::canHaveImprovement(ImprovementTypes, TeamTypes, bool) const
- CvPlot::getImprovementType() const
- CvPlot::getWorkingCity() const
- CvPlot::IsImprovementPillaged() const