Bazaar developer reference

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

Called by