Bazaar developer reference

CvPlayerTraits::GetFirstFreeUnit(TechTypes)

Defined in
CvTraitClasses.cpp, line 3105
Class
CvPlayerTraits
Hook name
CivHooks::CvPlayerTraits_GetFirstFreeUnit

Hooks

static bool BeforeCvPlayerTraits_GetFirstFreeUnit(CvPlayerTraits* self, TechTypes eTech, int& result);static void AfterCvPlayerTraits_GetFirstFreeUnit(CvPlayerTraits* self, TechTypes eTech, int& result);static int ReplaceCvPlayerTraits_GetFirstFreeUnit(int (*original)(CvPlayerTraits*, TechTypes), CvPlayerTraits* self, TechTypes eTech);CivRegisterBefore<CivHooks::CvPlayerTraits_GetFirstFreeUnit>(host, &BeforeCvPlayerTraits_GetFirstFreeUnit);CivRegisterAfter<CivHooks::CvPlayerTraits_GetFirstFreeUnit>(host, &AfterCvPlayerTraits_GetFirstFreeUnit);CivRegisterReplace<CivHooks::CvPlayerTraits_GetFirstFreeUnit>(host, &ReplaceCvPlayerTraits_GetFirstFreeUnit);

Code

3104/// First free unit received through traits3105int CvPlayerTraits::GetFirstFreeUnit(TechTypes eTech)3106{3107	m_uiFreeUnitIndex = 0;3108	m_eFreeUnitPrereqTech = eTech;31093110	while(m_uiFreeUnitIndex < m_aFreeTraitUnits.size())3111	{3112		if(eTech == m_aFreeTraitUnits[m_uiFreeUnitIndex].m_ePrereqTech)3113		{3114			return m_aFreeTraitUnits[m_uiFreeUnitIndex].m_iFreeUnit;3115		}31163117		m_uiFreeUnitIndex++;3118	}31193120	return NO_UNITCLASS;3121}

Calls

Called by