core/sourcemod.cpp
changeset 1904 baa051d23eef
parent 1770 9c545310f947
child 1915 ab031366cfd1
     1.1 --- a/core/sourcemod.cpp	Sat Mar 01 06:07:16 2008 +0000
     1.2 +++ b/core/sourcemod.cpp	Sat Mar 01 06:33:25 2008 +0000
     1.3 @@ -670,6 +670,36 @@
     1.4  	return GetAdjustedTime();
     1.5  }
     1.6  
     1.7 +void SourceModBase::AddGameFrameHook(GAME_FRAME_HOOK hook)
     1.8 +{
     1.9 +	m_frame_hooks.push_back(hook);
    1.10 +}
    1.11 +
    1.12 +void SourceModBase::RemoveGameFrameHook(GAME_FRAME_HOOK hook)
    1.13 +{
    1.14 +	for (size_t i = 0; i < m_frame_hooks.size(); i++)
    1.15 +	{
    1.16 +		if (m_frame_hooks[i] == hook)
    1.17 +		{
    1.18 +			m_frame_hooks.erase(m_frame_hooks.iterAt(i));
    1.19 +			return;
    1.20 +		}
    1.21 +	}
    1.22 +}
    1.23 +
    1.24 +void SourceModBase::ProcessGameFrameHooks(bool simulating)
    1.25 +{
    1.26 +	if (m_frame_hooks.size() == 0)
    1.27 +	{
    1.28 +		return;
    1.29 +	}
    1.30 +
    1.31 +	for (size_t i = 0; i < m_frame_hooks.size(); i++)
    1.32 +	{
    1.33 +		m_frame_hooks[i](simulating);
    1.34 +	}
    1.35 +}
    1.36 +
    1.37  SMGlobalClass *SMGlobalClass::head = NULL;
    1.38  
    1.39  SMGlobalClass::SMGlobalClass()