CvPlayer::setUnitExtraCost(UnitClassTypes, int)
- Defined in
- CvPlayer.cpp, line 26031
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_setUnitExtraCost
Hooks
static bool BeforeCvPlayer_setUnitExtraCost(CvPlayer* self, UnitClassTypes eUnitClass, int iCost);static void AfterCvPlayer_setUnitExtraCost(CvPlayer* self, UnitClassTypes eUnitClass, int iCost);static void ReplaceCvPlayer_setUnitExtraCost(void (*original)(CvPlayer*, UnitClassTypes, int), CvPlayer* self, UnitClassTypes eUnitClass, int iCost);CivRegisterBefore<CivHooks::CvPlayer_setUnitExtraCost>(host, &BeforeCvPlayer_setUnitExtraCost);CivRegisterAfter<CivHooks::CvPlayer_setUnitExtraCost>(host, &AfterCvPlayer_setUnitExtraCost);CivRegisterReplace<CivHooks::CvPlayer_setUnitExtraCost>(host, &ReplaceCvPlayer_setUnitExtraCost);
Code
26031void CvPlayer::setUnitExtraCost(UnitClassTypes eUnitClass, int iCost)26032{26033 for(std::vector< std::pair<UnitClassTypes, int> >::iterator it = m_aUnitExtraCosts.begin(); it != m_aUnitExtraCosts.end(); ++it)26034 {26035 if((*it).first == eUnitClass)26036 {26037 if(0 == iCost)26038 {26039 m_aUnitExtraCosts.erase(it);26040 }26041 else26042 {26043 (*it).second = iCost;26044 }26045 return;26046 }26047 }2604826049 if(0 != iCost)26050 {26051 m_aUnitExtraCosts.push_back(std::make_pair(eUnitClass, iCost));26052 }26053}
Calls
std::_Vector_const_iterator::_Vector_const_iteratorstd::_Vector_const_iterator::operator!=std::_Vector_iterator::operator*std::_Vector_iterator::operator++std::make_pairstd::vector::beginstd::vector::endstd::vector::erasestd::vector::push_back