diff options
Diffstat (limited to 'public/icliententity.h')
| -rw-r--r-- | public/icliententity.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/public/icliententity.h b/public/icliententity.h new file mode 100644 index 0000000..213381f --- /dev/null +++ b/public/icliententity.h @@ -0,0 +1,48 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef ICLIENTENTITY_H +#define ICLIENTENTITY_H +#ifdef _WIN32 +#pragma once +#endif + + +#include "iclientrenderable.h" +#include "iclientnetworkable.h" +#include "iclientthinkable.h" + +struct Ray_t; +class CGameTrace; +typedef CGameTrace trace_t; +class CMouthInfo; +class IClientEntityInternal; +struct SpatializationInfo_t; + + +//----------------------------------------------------------------------------- +// Purpose: All client entities must implement this interface. +//----------------------------------------------------------------------------- +abstract_class IClientEntity : public IClientUnknown, public IClientRenderable, public IClientNetworkable, public IClientThinkable +{ +public: + // Delete yourself. + virtual void Release( void ) = 0; + + // Network origin + angles + virtual const Vector& GetAbsOrigin( void ) const = 0; + virtual const QAngle& GetAbsAngles( void ) const = 0; + + virtual CMouthInfo *GetMouth( void ) = 0; + + // Retrieve sound spatialization info for the specified sound on this entity + // Return false to indicate sound is not audible + virtual bool GetSoundSpatialization( SpatializationInfo_t& info ) = 0; +}; + + +#endif // ICLIENTENTITY_H |