mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 20:16:10 +08:00
First version of the SOurce SDK 2013
This commit is contained in:
101
game/server/sdk/sdk_player.h
Normal file
101
game/server/sdk/sdk_player.h
Normal file
@ -0,0 +1,101 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Player for SDK Game
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef SDK_PLAYER_H
|
||||
#define SDK_PLAYER_H
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "player.h"
|
||||
#include "server_class.h"
|
||||
#include "sdk_playeranimstate.h"
|
||||
#include "sdk_shareddefs.h"
|
||||
|
||||
|
||||
//=============================================================================
|
||||
// >> SDK Game player
|
||||
//=============================================================================
|
||||
class CSDKPlayer : public CBasePlayer, public ISDKPlayerAnimStateHelpers
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS( CSDKPlayer, CBasePlayer );
|
||||
DECLARE_SERVERCLASS();
|
||||
DECLARE_PREDICTABLE();
|
||||
DECLARE_DATADESC();
|
||||
|
||||
CSDKPlayer();
|
||||
~CSDKPlayer();
|
||||
|
||||
static CSDKPlayer *CreatePlayer( const char *className, edict_t *ed );
|
||||
static CSDKPlayer* Instance( int iEnt );
|
||||
|
||||
// This passes the event to the client's and server's CPlayerAnimState.
|
||||
void DoAnimationEvent( PlayerAnimEvent_t event, int nData = 0 );
|
||||
|
||||
virtual void FlashlightTurnOn( void );
|
||||
virtual void FlashlightTurnOff( void );
|
||||
virtual int FlashlightIsOn( void );
|
||||
|
||||
virtual void PreThink();
|
||||
virtual void PostThink();
|
||||
virtual void Spawn();
|
||||
virtual void InitialSpawn();
|
||||
virtual void Precache();
|
||||
virtual void Event_Killed( const CTakeDamageInfo &info );
|
||||
virtual void LeaveVehicle( const Vector &vecExitPoint, const QAngle &vecExitAngles );
|
||||
|
||||
CWeaponSDKBase* GetActiveSDKWeapon() const;
|
||||
virtual void CreateViewModel( int viewmodelindex = 0 );
|
||||
|
||||
virtual void CheatImpulseCommands( int iImpulse );
|
||||
|
||||
CNetworkVar( int, m_iThrowGrenadeCounter ); // used to trigger grenade throw animations.
|
||||
CNetworkQAngle( m_angEyeAngles ); // Copied from EyeAngles() so we can send it to the client.
|
||||
CNetworkVar( int, m_iShotsFired ); // number of shots fired recently
|
||||
|
||||
// Tracks our ragdoll entity.
|
||||
CNetworkHandle( CBaseEntity, m_hRagdoll ); // networked entity handle
|
||||
|
||||
// In shared code.
|
||||
public:
|
||||
// ISDKPlayerAnimState overrides.
|
||||
virtual CWeaponSDKBase* SDKAnim_GetActiveWeapon();
|
||||
virtual bool SDKAnim_CanMove();
|
||||
|
||||
|
||||
void FireBullet(
|
||||
Vector vecSrc,
|
||||
const QAngle &shootAngles,
|
||||
float vecSpread,
|
||||
int iDamage,
|
||||
int iBulletType,
|
||||
CBaseEntity *pevAttacker,
|
||||
bool bDoEffects,
|
||||
float x,
|
||||
float y );
|
||||
|
||||
private:
|
||||
|
||||
void CreateRagdollEntity();
|
||||
|
||||
ISDKPlayerAnimState *m_PlayerAnimState;
|
||||
};
|
||||
|
||||
|
||||
inline CSDKPlayer *ToSDKPlayer( CBaseEntity *pEntity )
|
||||
{
|
||||
if ( !pEntity || !pEntity->IsPlayer() )
|
||||
return NULL;
|
||||
|
||||
#ifdef _DEBUG
|
||||
Assert( dynamic_cast<CSDKPlayer*>( pEntity ) != 0 );
|
||||
#endif
|
||||
return static_cast< CSDKPlayer* >( pEntity );
|
||||
}
|
||||
|
||||
|
||||
#endif // SDK_PLAYER_H
|
Reference in New Issue
Block a user