mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-12 19:59:09 +00:00
1
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef TFC_PLAYER_SHARED_H
|
||||
#define TFC_PLAYER_SHARED_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
#include "networkvar.h"
|
||||
#include "tfc_shareddefs.h"
|
||||
#include "weapon_tfcbase.h"
|
||||
|
||||
|
||||
#ifdef CLIENT_DLL
|
||||
class C_TFCPlayer;
|
||||
EXTERN_RECV_TABLE( DT_TFCPlayerShared );
|
||||
#else
|
||||
class CTFCPlayer;
|
||||
EXTERN_SEND_TABLE( DT_TFCPlayerShared );
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// Data in the DoD player that is accessed by shared code.
|
||||
// This data isn't necessarily transmitted between client and server.
|
||||
class CTFCPlayerShared
|
||||
{
|
||||
public:
|
||||
|
||||
#ifdef CLIENT_DLL
|
||||
friend class C_TFCPlayer;
|
||||
typedef C_TFCPlayer OuterClass;
|
||||
DECLARE_PREDICTABLE();
|
||||
#else
|
||||
friend class CTFCPlayer;
|
||||
typedef CTFCPlayer OuterClass;
|
||||
#endif
|
||||
|
||||
DECLARE_EMBEDDED_NETWORKVAR()
|
||||
DECLARE_CLASS_NOBASE( CTFCPlayerShared );
|
||||
|
||||
|
||||
CTFCPlayerShared();
|
||||
|
||||
void Init( OuterClass *pOuter );
|
||||
|
||||
void SetPlayerClass( int playerclass );
|
||||
int GetPlayerClass() const;
|
||||
const CTFCPlayerClassInfo* GetClassInfo() const;
|
||||
|
||||
// State.
|
||||
TFCPlayerState State_Get() const;
|
||||
|
||||
// State flags (TFSTATE_).
|
||||
int GetStateFlags() const;
|
||||
void SetStateFlags( int val );
|
||||
void AddStateFlags( int flags );
|
||||
void RemoveStateFlags( int flags );
|
||||
|
||||
// Item flags (IT_).
|
||||
int GetItemFlags() const;
|
||||
void SetItemFlags( int val );
|
||||
void AddItemFlags( int val );
|
||||
void RemoveItemFlags( int val );
|
||||
|
||||
CWeaponTFCBase* GetActiveTFCWeapon() const;
|
||||
|
||||
// Vars that are networked.
|
||||
private:
|
||||
|
||||
CNetworkVar( int, m_StateFlags ); // Combination of the TFSTATE_ flags.
|
||||
CNetworkVar( int, m_ItemFlags );
|
||||
CNetworkVar( int, m_iPlayerClass );
|
||||
CNetworkVar( TFCPlayerState, m_iPlayerState );
|
||||
|
||||
|
||||
// Vars that aren't networked.
|
||||
public:
|
||||
|
||||
|
||||
private:
|
||||
|
||||
OuterClass *m_pOuter;
|
||||
};
|
||||
|
||||
|
||||
inline int CTFCPlayerShared::GetStateFlags() const
|
||||
{
|
||||
return m_StateFlags;
|
||||
}
|
||||
|
||||
inline void CTFCPlayerShared::SetStateFlags( int val )
|
||||
{
|
||||
m_StateFlags = val;
|
||||
}
|
||||
|
||||
inline void CTFCPlayerShared::AddStateFlags( int flags )
|
||||
{
|
||||
m_StateFlags |= flags;
|
||||
}
|
||||
|
||||
inline void CTFCPlayerShared::RemoveStateFlags( int flags )
|
||||
{
|
||||
m_StateFlags &= ~flags;
|
||||
}
|
||||
|
||||
inline int CTFCPlayerShared::GetItemFlags() const
|
||||
{
|
||||
return m_ItemFlags;
|
||||
}
|
||||
|
||||
inline void CTFCPlayerShared::SetItemFlags( int val )
|
||||
{
|
||||
m_ItemFlags = val;
|
||||
}
|
||||
|
||||
inline void CTFCPlayerShared::AddItemFlags( int val )
|
||||
{
|
||||
m_ItemFlags |= val;
|
||||
}
|
||||
|
||||
inline void CTFCPlayerShared::RemoveItemFlags( int val )
|
||||
{
|
||||
m_ItemFlags &= ~val;
|
||||
}
|
||||
|
||||
inline const CTFCPlayerClassInfo* CTFCPlayerShared::GetClassInfo() const
|
||||
{
|
||||
return GetTFCClassInfo( GetPlayerClass() );
|
||||
}
|
||||
|
||||
|
||||
#endif // TFC_PLAYER_SHARED_H
|
||||
Reference in New Issue
Block a user