CvStartPositioner::ComputeRowFertility(int, int, int, int, int)
- Defined in
- CvStartPositioner.cpp, line 593
- Class
- CvStartPositioner
- Hook name
CivHooks::CvStartPositioner_ComputeRowFertility
Hooks
static bool BeforeCvStartPositioner_ComputeRowFertility(CvStartPositioner* self, int iAreaID, int xMin, int xMax, int yMin, int yMax, int& result);static void AfterCvStartPositioner_ComputeRowFertility(CvStartPositioner* self, int iAreaID, int xMin, int xMax, int yMin, int yMax, int& result);static int ReplaceCvStartPositioner_ComputeRowFertility(int (*original)(CvStartPositioner*, int, int, int, int, int), CvStartPositioner* self, int iAreaID, int xMin, int xMax, int yMin, int yMax);CivRegisterBefore<CivHooks::CvStartPositioner_ComputeRowFertility>(host, &BeforeCvStartPositioner_ComputeRowFertility);CivRegisterAfter<CivHooks::CvStartPositioner_ComputeRowFertility>(host, &AfterCvStartPositioner_ComputeRowFertility);CivRegisterReplace<CivHooks::CvStartPositioner_ComputeRowFertility>(host, &ReplaceCvStartPositioner_ComputeRowFertility);
Code
592/// Totals up the fertility of one row of data593int CvStartPositioner::ComputeRowFertility(int iAreaID, int xMin, int xMax, int yMin, int yMax)594{595 int rtnValue = 0;596597 for(int iRow = yMin; iRow <= yMax; iRow++)598 {599 for(int iCol = xMin; iCol <= xMax; iCol++)600 {601 CvPlot* pPlot = GC.getMap().plot(iCol, iRow);602603 if(pPlot && pPlot->getArea() == iAreaID)604 {605 // Retrieve from player 0's found value slot606 // (Normally shouldn't be using a hard-coded player reference, but here in the pre-game initialization it is safe to do so.607 // Allows us to reuse this data storage instead of jamming even more data into the CvPlot class that will never be used at run-time).608 rtnValue += pPlot->getFoundValue((PlayerTypes)0);609 }610 }611 }612613 return rtnValue;614}