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.
87 lines
2.0 KiB
87 lines
2.0 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef C_SDK_PLAYER_H |
|
#define C_SDK_PLAYER_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
#include "sdk_playeranimstate.h" |
|
#include "c_baseplayer.h" |
|
#include "sdk_shareddefs.h" |
|
#include "baseparticleentity.h" |
|
|
|
|
|
class C_SDKPlayer : public C_BasePlayer, public ISDKPlayerAnimStateHelpers |
|
{ |
|
public: |
|
DECLARE_CLASS( C_SDKPlayer, C_BasePlayer ); |
|
DECLARE_CLIENTCLASS(); |
|
DECLARE_PREDICTABLE(); |
|
DECLARE_INTERPOLATION(); |
|
|
|
C_SDKPlayer(); |
|
~C_SDKPlayer(); |
|
|
|
static C_SDKPlayer* GetLocalSDKPlayer(); |
|
|
|
virtual const QAngle& GetRenderAngles(); |
|
virtual void UpdateClientSideAnimation(); |
|
virtual void PostDataUpdate( DataUpdateType_t updateType ); |
|
virtual void OnDataChanged( DataUpdateType_t updateType ); |
|
|
|
|
|
// Called by shared code. |
|
public: |
|
|
|
// ISDKPlayerAnimState overrides. |
|
virtual CWeaponSDKBase* SDKAnim_GetActiveWeapon(); |
|
virtual bool SDKAnim_CanMove(); |
|
|
|
void DoAnimationEvent( PlayerAnimEvent_t event, int nData = 0 ); |
|
bool ShouldDraw(); |
|
|
|
ISDKPlayerAnimState *m_PlayerAnimState; |
|
|
|
QAngle m_angEyeAngles; |
|
CInterpolatedVar< QAngle > m_iv_angEyeAngles; |
|
|
|
CNetworkVar( int, m_iThrowGrenadeCounter ); // used to trigger grenade throw animations. |
|
CNetworkVar( int, m_iShotsFired ); // number of shots fired recently |
|
|
|
EHANDLE m_hRagdoll; |
|
|
|
CWeaponSDKBase *GetActiveSDKWeapon() const; |
|
|
|
C_BaseAnimating *BecomeRagdollOnClient(); |
|
IRagdoll* C_SDKPlayer::GetRepresentativeRagdoll() const; |
|
|
|
void FireBullet( |
|
Vector vecSrc, |
|
const QAngle &shootAngles, |
|
float vecSpread, |
|
int iDamage, |
|
int iBulletType, |
|
CBaseEntity *pevAttacker, |
|
bool bDoEffects, |
|
float x, |
|
float y ); |
|
|
|
private: |
|
C_SDKPlayer( const C_SDKPlayer & ); |
|
}; |
|
|
|
|
|
inline C_SDKPlayer* ToSDKPlayer( CBaseEntity *pPlayer ) |
|
{ |
|
Assert( dynamic_cast< C_SDKPlayer* >( pPlayer ) != NULL ); |
|
return static_cast< C_SDKPlayer* >( pPlayer ); |
|
} |
|
|
|
|
|
#endif // C_SDK_PLAYER_H
|
|
|