Пример #1
0
void SoundHooks::AddHook(int type, IPluginFunction *pFunc)
{
	if (type == NORMAL_SOUND_HOOK)
	{
		m_NormalFuncs.push_back(pFunc);
		_IncRefCounter(NORMAL_SOUND_HOOK);
	}
	else if (type == AMBIENT_SOUND_HOOK)
	{
		m_AmbientFuncs.push_back(pFunc);
		_IncRefCounter(AMBIENT_SOUND_HOOK);
	}
}
Пример #2
0
bool TempEntHooks::AddHook(const char *name, IPluginFunction *pFunc)
{
	TEHookInfo *pInfo;

	if (m_TEHooks->Retrieve(name, reinterpret_cast<void **>(&pInfo)))
	{
		pInfo->lst.push_back(pFunc);
	} else {
		TempEntityInfo *te;
		if (!(te=g_TEManager.GetTempEntityInfo(name)))
		{
			return false;
		}

		pInfo = new TEHookInfo;
		pInfo->te = te;
		pInfo->lst.push_back(pFunc);

		m_TEHooks->Insert(name, reinterpret_cast<void *>(pInfo));
		m_HookInfo.push_back(pInfo);
	}

	_IncRefCounter();

	return true;
}