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.
49 lines
1.3 KiB
49 lines
1.3 KiB
5 years ago
|
//========= 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
|