diff options
Diffstat (limited to 'public/toolframework/iserverenginetools.h')
| -rw-r--r-- | public/toolframework/iserverenginetools.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/public/toolframework/iserverenginetools.h b/public/toolframework/iserverenginetools.h new file mode 100644 index 0000000..437a97d --- /dev/null +++ b/public/toolframework/iserverenginetools.h @@ -0,0 +1,50 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#ifndef ISERVERENGINETOOLS_H +#define ISERVERENGINETOOLS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "interface.h" + +//----------------------------------------------------------------------------- +// Purpose: exposed from engine to game .dll +//----------------------------------------------------------------------------- +class IServerEngineTools : public IBaseInterface +{ +public: + // Level init, shutdown + virtual void LevelInitPreEntityAllTools() = 0; + // entities are created / spawned / precached here + virtual void LevelInitPostEntityAllTools() = 0; + + virtual void LevelShutdownPreEntityAllTools() = 0; + // Entities are deleted / released here... + virtual void LevelShutdownPostEntityAllTools() = 0; + // end of level shutdown + + // Called each frame before entities think + virtual void FrameUpdatePreEntityThinkAllTools() = 0; + // called after entities think + virtual void FrameUpdatePostEntityThinkAllTools() = 0; + + virtual void PreClientUpdateAllTools() = 0; + // FIXME: PostClientUpdateAllTools()??? + + // The server uses this to call into the tools to get the actual + // entities to spawn on startup + virtual const char* GetEntityData( const char *pActualEntityData ) = 0; + + virtual void PreSetupVisibilityAllTools() = 0; + + virtual bool InToolMode() = 0; +}; + +#define VSERVERENGINETOOLS_INTERFACE_VERSION "VSERVERENGINETOOLS001" + +#endif // ISERVERENGINETOOLS_H |