Bazaar developer reference

CvDllPreGame::SetDLCAvailable(PlayerTypes, ICvEnumerator *)

Defined in
CvDllPreGame.cpp, line 1103
Class
CvDllPreGame
Hook name
CivHooks::CvDllPreGame_SetDLCAvailable

Hooks

static bool BeforeCvDllPreGame_SetDLCAvailable(CvDllPreGame* self, PlayerTypes p, ICvEnumerator* pList);static void AfterCvDllPreGame_SetDLCAvailable(CvDllPreGame* self, PlayerTypes p, ICvEnumerator* pList);static void ReplaceCvDllPreGame_SetDLCAvailable(void (*original)(CvDllPreGame*, PlayerTypes, ICvEnumerator*), CvDllPreGame* self, PlayerTypes p, ICvEnumerator* pList);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllPreGame_SetDLCAvailable::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllPreGame_SetDLCAvailable);host->RegisterHook(host->pluginIndex, CivHooks::CvDllPreGame_SetDLCAvailable::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllPreGame_SetDLCAvailable);host->RegisterHook(host->pluginIndex, CivHooks::CvDllPreGame_SetDLCAvailable::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllPreGame_SetDLCAvailable);

Code

1103void CvDllPreGame::SetDLCAvailable(PlayerTypes p, ICvEnumerator* pList)1104{1105	PackageIDList kDLCList;11061107	// Because CvEnumerator OWNS the pointer it's passed, use QueryInterface to1108	// construct a new pointer.1109	CvEnumerator<ICvDlcPackageInfo1> kEnum(pList->QueryInterface<ICvEnumerator>());1110	while(kEnum.MoveNext())1111	{1112		auto_ptr<ICvDlcPackageInfo1> pPackageInfo(kEnum.GetCurrent());1113		if(pPackageInfo.get() != NULL)1114		{1115			kDLCList.push_back(pPackageInfo->GetPackageID());1116		}1117	}11181119	CvPreGame::setDLCAvailable(p, kDLCList);1120}

Calls