Team Fortress 2 Source Code as on 22/4/2020
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.

48 lines
1.4 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //=============================================================================//
  8. #ifndef IREPLAYSERVER_H
  9. #define IREPLAYSERVER_H
  10. #ifdef _WIN32
  11. #pragma once
  12. #endif
  13. //-----------------------------------------------------------------------------
  14. #include "interface.h"
  15. //-----------------------------------------------------------------------------
  16. class IServer;
  17. class IReplayDirector;
  18. class IGameEvent;
  19. struct netadr_s;
  20. class CServerReplay;
  21. //-----------------------------------------------------------------------------
  22. // Interface the Replay module exposes to the engine
  23. //-----------------------------------------------------------------------------
  24. #define INTERFACEVERSION_REPLAYSERVER "ReplayServer001"
  25. class IReplayServer : public IBaseInterface
  26. {
  27. public:
  28. virtual ~IReplayServer() {}
  29. virtual IServer *GetBaseServer() = 0; // get Replay base server interface
  30. virtual IReplayDirector *GetDirector() = 0; // get director interface
  31. virtual int GetReplaySlot() = 0; // return entity index-1 of Replay in game
  32. virtual float GetOnlineTime() = 0; // seconds since broadcast started
  33. virtual void BroadcastEvent(IGameEvent *event) = 0; // send a director command to all specs
  34. virtual bool IsRecording() = 0;
  35. virtual void StartRecording() = 0;
  36. virtual void StopRecording() = 0;
  37. };
  38. #endif