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.3 KiB
48 lines
1.3 KiB
//========= 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
|