hl2_src-leak-2017/src/public/toolframework/toolframework.cpp
BotoX 60f625f414 import hl2_src from full.7z
source: magnet:?xt=urn:btih:21DDA6847DDE983F2F8063739249D2D1D09A5DDA
2020-12-25 16:26:23 +01:00

42 lines
803 B
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
#include "toolframework/itooldictionary.h"
#include "utlvector.h"
class CToolDictionary : public IToolDictionary
{
public:
virtual int GetToolCount() const
{
return m_Tools.Count();
}
virtual IToolSystem *GetTool( int index )
{
if ( index < 0 || index >= m_Tools.Count() )
{
return NULL;
}
return m_Tools[ index ];
}
public:
void RegisterTool( IToolSystem *tool )
{
m_Tools.AddToTail( tool );
}
private:
CUtlVector< IToolSystem * > m_Tools;
};
static CToolDictionary g_ToolDictionary;
EXPOSE_SINGLE_INTERFACE_GLOBALVAR( IToolDictionary, CToolDictionary, VTOOLDICTIONARY_INTERFACE_VERSION, g_ToolDictionary );
void RegisterTool( IToolSystem *tool )
{
g_ToolDictionary.RegisterTool( tool );
}