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.
50 lines
1.5 KiB
50 lines
1.5 KiB
//========= 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
|
|
|