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.

55 lines
1.5 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef ICLIENTENTITY_H
  8. #define ICLIENTENTITY_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "iclientrenderable.h"
  13. #include "iclientnetworkable.h"
  14. #include "iclientthinkable.h"
  15. #include "string_t.h"
  16. struct Ray_t;
  17. class CGameTrace;
  18. typedef CGameTrace trace_t;
  19. class CMouthInfo;
  20. class IClientEntityInternal;
  21. struct SpatializationInfo_t;
  22. //-----------------------------------------------------------------------------
  23. // Purpose: All client entities must implement this interface.
  24. //-----------------------------------------------------------------------------
  25. abstract_class IClientEntity : public IClientUnknown, public IClientRenderable, public IClientNetworkable, public IClientThinkable
  26. {
  27. public:
  28. // Delete yourself.
  29. virtual void Release( void ) = 0;
  30. // Network origin + angles
  31. virtual const Vector& GetAbsOrigin( void ) const = 0;
  32. virtual const QAngle& GetAbsAngles( void ) const = 0;
  33. virtual CMouthInfo *GetMouth( void ) = 0;
  34. // Retrieve sound spatialization info for the specified sound on this entity
  35. // Return false to indicate sound is not audible
  36. virtual bool GetSoundSpatialization( SpatializationInfo_t& info ) = 0;
  37. virtual bool IsBlurred( void ) = 0;
  38. #if 0
  39. virtual string_t GetModelName( void ) const = 0;
  40. #endif
  41. };
  42. #endif // ICLIENTENTITY_H