You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
803 B
42 lines
803 B
5 years ago
|
//========= 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 );
|
||
|
}
|
||
|
|