mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-27 16:43:01 +00:00
88 lines
2.0 KiB
C++
88 lines
2.0 KiB
C++
//========= 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
|