CvGame::setPlotExtraYield(int, int, YieldTypes, int)
- Defined in
- CvGame.cpp, line 10053
- Class
- CvGame
- Hook name
CivHooks::CvGame_setPlotExtraYield
Hooks
static bool BeforeCvGame_setPlotExtraYield(CvGame* self, int iX, int iY, YieldTypes eYield, int iExtraYield);static void AfterCvGame_setPlotExtraYield(CvGame* self, int iX, int iY, YieldTypes eYield, int iExtraYield);static void ReplaceCvGame_setPlotExtraYield(void (*original)(CvGame*, int, int, YieldTypes, int), CvGame* self, int iX, int iY, YieldTypes eYield, int iExtraYield);CivRegisterBefore<CivHooks::CvGame_setPlotExtraYield>(host, &BeforeCvGame_setPlotExtraYield);CivRegisterAfter<CivHooks::CvGame_setPlotExtraYield>(host, &AfterCvGame_setPlotExtraYield);CivRegisterReplace<CivHooks::CvGame_setPlotExtraYield>(host, &ReplaceCvGame_setPlotExtraYield);
Code
10053void CvGame::setPlotExtraYield(int iX, int iY, YieldTypes eYield, int iExtraYield)10054{10055 bool bFound = false;1005610057 for(std::vector<PlotExtraYield>::iterator it = m_aPlotExtraYields.begin(); it != m_aPlotExtraYields.end(); ++it)10058 {10059 if((*it).m_iX == iX && (*it).m_iY == iY)10060 {10061 (*it).m_aeExtraYield[eYield] += iExtraYield;10062 bFound = true;10063 break;10064 }10065 }1006610067 if(!bFound)10068 {10069 PlotExtraYield kExtraYield;10070 kExtraYield.m_iX = iX;10071 kExtraYield.m_iY = iY;10072 for(int i = 0; i < NUM_YIELD_TYPES; ++i)10073 {10074 if(eYield == i)10075 {10076 kExtraYield.m_aeExtraYield.push_back(iExtraYield);10077 }10078 else10079 {10080 kExtraYield.m_aeExtraYield.push_back(0);10081 }10082 }10083 m_aPlotExtraYields.push_back(kExtraYield);10084 }1008510086 CvPlot* pPlot = GC.getMap().plot(iX, iY);10087 if(NULL != pPlot)10088 {10089 pPlot->updateYield();10090 }10091}
Calls
- CvGlobals::getMap()
- CvMap::plot(int, int) const
- CvPlot::updateYield()
- PlotExtraYield::PlotExtraYield()
std::_Vector_const_iterator::operator!=std::_Vector_iterator::operator*std::_Vector_iterator::operator++std::vector::beginstd::vector::endstd::vector::operator[]std::vector::push_backstd::vector::push_back