Counter Strike : Global Offensive Source Code
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.

56 lines
1.8 KiB

  1. //====== Copyright � 1996-2005, Valve Corporation, All rights reserved. =======
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef ISERVERENGINETOOLS_H
  7. #define ISERVERENGINETOOLS_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "interface.h"
  12. //-----------------------------------------------------------------------------
  13. // Forward declarations
  14. //-----------------------------------------------------------------------------
  15. class CServerDemo;
  16. //-----------------------------------------------------------------------------
  17. // Purpose: exposed from engine to game .dll
  18. //-----------------------------------------------------------------------------
  19. class IServerEngineTools : public IBaseInterface
  20. {
  21. public:
  22. // Level init, shutdown
  23. virtual void LevelInitPreEntityAllTools() = 0;
  24. // entities are created / spawned / precached here
  25. virtual void LevelInitPostEntityAllTools() = 0;
  26. virtual void LevelShutdownPreEntityAllTools() = 0;
  27. // Entities are deleted / released here...
  28. virtual void LevelShutdownPostEntityAllTools() = 0;
  29. // end of level shutdown
  30. // Called each frame before entities think
  31. virtual void FrameUpdatePreEntityThinkAllTools() = 0;
  32. // called after entities think
  33. virtual void FrameUpdatePostEntityThinkAllTools() = 0;
  34. virtual void PreClientUpdateAllTools() = 0;
  35. // FIXME: PostClientUpdateAllTools()???
  36. // The server uses this to call into the tools to get the actual
  37. // entities to spawn on startup
  38. virtual const char* GetEntityData( const char *pActualEntityData ) = 0;
  39. virtual void* QueryInterface( const char *pInterfaceName ) = 0;
  40. virtual void PreSetupVisibilityAllTools() = 0;
  41. virtual bool InToolMode() = 0;
  42. };
  43. #define VSERVERENGINETOOLS_INTERFACE_VERSION "VSERVERENGINETOOLS001"
  44. #endif // ISERVERENGINETOOLS_H