mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 14:46:53 +00:00
88 lines
2.2 KiB
C++
88 lines
2.2 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//
|
|
//=============================================================================//
|
|
|
|
#ifndef HL1MP_PLAYER_H
|
|
#define HL1MP_PLAYER_H
|
|
#pragma once
|
|
|
|
#include "cbase.h"
|
|
#include "hl1_player_shared.h"
|
|
#include "hl1_player.h"
|
|
#include "takedamageinfo.h"
|
|
|
|
|
|
class CHL1MP_Player;
|
|
|
|
|
|
//=============================================================================
|
|
// >> HL1MP_Player
|
|
//=============================================================================
|
|
class CHL1MP_Player : public CHL1_Player
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CHL1MP_Player, CHL1_Player );
|
|
DECLARE_SERVERCLASS();
|
|
|
|
CHL1MP_Player();
|
|
~CHL1MP_Player( void );
|
|
|
|
virtual void Event_Killed( const CTakeDamageInfo &info );
|
|
virtual void Spawn( void );
|
|
virtual void PostThink( void );
|
|
virtual void SetAnimation( PLAYER_ANIM playerAnim );
|
|
void GiveDefaultItems( void );
|
|
void CreateRagdollEntity( void );
|
|
void UpdateOnRemove( void );
|
|
virtual bool BecomeRagdollOnClient( const Vector &force ) { return true; };
|
|
virtual void CreateCorpse( void );
|
|
|
|
virtual bool BumpWeapon( CBaseCombatWeapon *pWeapon );
|
|
|
|
virtual void ChangeTeam( int iTeamNum ) OVERRIDE;
|
|
|
|
void SetPlayerTeamModel( void );
|
|
|
|
float GetNextModelChangeTime( void ) { return m_flNextModelChangeTime; }
|
|
float GetNextTeamChangeTime( void ) { return m_flNextTeamChangeTime; }
|
|
|
|
void SetPlayerModel( void );
|
|
|
|
void DoAnimationEvent( PlayerAnimEvent_t event, int nData = 0 );
|
|
|
|
virtual bool StartObserverMode (int mode)
|
|
{
|
|
if ( !IsHLTV() )
|
|
return false;
|
|
return BaseClass::StartObserverMode( mode );
|
|
}
|
|
|
|
void DetonateSatchelCharges( void );
|
|
|
|
CNetworkVar( int, m_iRealSequence );
|
|
|
|
private:
|
|
CNetworkHandle( CBaseEntity, m_hRagdoll );
|
|
CNetworkVar( int, m_iSpawnInterpCounter );
|
|
CNetworkQAngle( m_angEyeAngles );
|
|
|
|
IHL1MPPlayerAnimState* m_PlayerAnimState;
|
|
float m_flNextModelChangeTime;
|
|
float m_flNextTeamChangeTime;
|
|
};
|
|
|
|
inline CHL1MP_Player *ToHL1MPPlayer( CBaseEntity *pEntity )
|
|
{
|
|
if ( !pEntity || !pEntity->IsPlayer() )
|
|
return NULL;
|
|
|
|
return dynamic_cast<CHL1MP_Player*>( pEntity );
|
|
}
|
|
|
|
|
|
#endif //HL1MP_PLAYER_H
|