CvCity::findYieldRateRank(YieldTypes)
- Defined in
- CvCity.cpp, line 2466
- Class
- CvCity
- Hook name
CivHooks::CvCity_findYieldRateRank
Hooks
static bool BeforeCvCity_findYieldRateRank(CvCity* self, YieldTypes eYield, int& result);static void AfterCvCity_findYieldRateRank(CvCity* self, YieldTypes eYield, int& result);static int ReplaceCvCity_findYieldRateRank(int (*original)(CvCity*, YieldTypes), CvCity* self, YieldTypes eYield);CivRegisterBefore<CivHooks::CvCity_findYieldRateRank>(host, &BeforeCvCity_findYieldRateRank);CivRegisterAfter<CivHooks::CvCity_findYieldRateRank>(host, &AfterCvCity_findYieldRateRank);CivRegisterReplace<CivHooks::CvCity_findYieldRateRank>(host, &ReplaceCvCity_findYieldRateRank);
Code
2466int CvCity::findYieldRateRank(YieldTypes eYield)2467{2468 if(!m_abYieldRankValid[eYield])2469 {2470 int iRate = getYieldRateTimes100(eYield, false);24712472 int iRank = 1;24732474 int iLoop;2475 CvCity* pLoopCity;2476 for(pLoopCity = GET_PLAYER(getOwner()).firstCity(&iLoop); pLoopCity != NULL; pLoopCity = GET_PLAYER(getOwner()).nextCity(&iLoop))2477 {2478 if ((pLoopCity->getYieldRateTimes100(eYield, false) > iRate) ||2479 ((pLoopCity->getYieldRateTimes100(eYield, false) == iRate) && (pLoopCity->GetID() < GetID())))2480 {2481 iRank++;2482 }2483 }24842485 m_abYieldRankValid.setAt(eYield, true);2486 m_aiYieldRank.setAt(eYield, iRank);2487 }24882489 return m_aiYieldRank[eYield];2490}
Calls
- CvCity::GetID() const
- CvCity::getOwner() const
- CvCity::getYieldRateTimes100(YieldTypes, bool) const
- CvPlayer::firstCity(int *, bool)
- CvPlayer::nextCity(int *, bool)
- CvPlayerAI::getPlayer(PlayerTypes)
FAutoVariable::operator[]FAutoVariable::operator[]FAutoVariable::setAtFAutoVariable::setAt