diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /sp/src/game/server/sdk/sdk_player.h | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/src/game/server/sdk/sdk_player.h')
| -rw-r--r-- | sp/src/game/server/sdk/sdk_player.h | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/sp/src/game/server/sdk/sdk_player.h b/sp/src/game/server/sdk/sdk_player.h new file mode 100644 index 00000000..efac7ec1 --- /dev/null +++ b/sp/src/game/server/sdk/sdk_player.h @@ -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
|