Bazaar developer reference

CvDllTeam::GetTechs(TechTypes *, uint) const

Defined in
CvDllTeam.cpp, line 169
Class
CvDllTeam
Hook name
CivHooks::CvDllTeam_GetTechs

Hooks

static bool BeforeCvDllTeam_GetTechs(const CvDllTeam* self, TechTypes* pkTechArray, uint uiArraySize, int& result);static void AfterCvDllTeam_GetTechs(const CvDllTeam* self, TechTypes* pkTechArray, uint uiArraySize, int& result);static int ReplaceCvDllTeam_GetTechs(int (*original)(const CvDllTeam*, TechTypes*, uint), const CvDllTeam* self, TechTypes* pkTechArray, uint uiArraySize);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllTeam_GetTechs::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllTeam_GetTechs);host->RegisterHook(host->pluginIndex, CivHooks::CvDllTeam_GetTechs::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllTeam_GetTechs);host->RegisterHook(host->pluginIndex, CivHooks::CvDllTeam_GetTechs::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllTeam_GetTechs);

Code

169int CvDllTeam::GetTechs(TechTypes* pkTechArray, uint uiArraySize) const170{171	int iFoundTechs = 0;172	CvTeamTechs* pkTeamTechs = m_pTeam->GetTeamTechs();173	if (pkTeamTechs)174	{175		for (int iTechLoop = 0; iTechLoop < GC.getNumTechInfos() && uiArraySize--; iTechLoop++)176		{177			if (pkTeamTechs->HasTech((TechTypes) iTechLoop) || pkTeamTechs->GetTechCount((TechTypes)iTechLoop) > 0)178			{179				*pkTechArray++ = (TechTypes)iTechLoop;180				++iFoundTechs;181			}182		}183	}184	return iFoundTechs;185}

Calls