//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #include "cbase.h" #include "tfc_gamerules.h" #include "tfc_player_shared.h" #include "takedamageinfo.h" #include "weapon_tfcbase.h" #ifdef CLIENT_DLL #include "c_tfc_player.h" BEGIN_RECV_TABLE_NOBASE( CTFCPlayerShared, DT_TFCPlayerShared ) RecvPropInt( RECVINFO( m_iPlayerClass ) ), RecvPropInt( RECVINFO( m_iPlayerState ) ), RecvPropInt( RECVINFO( m_StateFlags ) ), RecvPropInt( RECVINFO( m_ItemFlags ) ) END_RECV_TABLE() BEGIN_PREDICTION_DATA_NO_BASE( CTFCPlayerShared ) DEFINE_PRED_FIELD( m_iPlayerState, FIELD_INTEGER, FTYPEDESC_INSENDTABLE ) END_PREDICTION_DATA() #else #include "tfc_player.h" BEGIN_SEND_TABLE_NOBASE( CTFCPlayerShared, DT_TFCPlayerShared ) SendPropInt( SENDINFO(m_iPlayerClass), NumBitsForCount( PC_LASTCLASS+1 ), SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_iPlayerState), NumBitsForCount( TFC_NUM_PLAYER_STATES ), SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_StateFlags) , NumBitsForCount( TFSTATE_HIGHEST_VALUE+1 ), SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_StateFlags) , NumBitsForCount( IT_LAST_ITEM+1 ), SPROP_UNSIGNED ) END_SEND_TABLE() #endif // --------------------------------------------------------------------------------------------------- // // Shared CTFCPlayer implementation. // --------------------------------------------------------------------------------------------------- // // --------------------------------------------------------------------------------------------------- // // CTFCPlayerShared implementation. // --------------------------------------------------------------------------------------------------- // CTFCPlayerShared::CTFCPlayerShared() { m_iPlayerClass = PC_UNDEFINED; m_iPlayerState = STATE_WELCOME; } void CTFCPlayerShared::Init( CTFCPlayer *pPlayer ) { m_pOuter = pPlayer; } void CTFCPlayerShared::SetPlayerClass( int playerclass ) { m_iPlayerClass = playerclass; } int CTFCPlayerShared::GetPlayerClass() const { return m_iPlayerClass; } TFCPlayerState CTFCPlayerShared::State_Get() const { return m_iPlayerState; } CWeaponTFCBase* CTFCPlayerShared::GetActiveTFCWeapon() const { CBaseCombatWeapon *pRet = m_pOuter->GetActiveWeapon(); if ( pRet ) { Assert( dynamic_cast< CWeaponTFCBase* >( pRet ) != NULL ); return static_cast< CWeaponTFCBase * >( pRet ); } else { return NULL; } }