//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Entity that propagates general data needed by clients for every // player. // // $NoKeywords: $ //=============================================================================// #ifndef PLAYER_RESOURCE_H #define PLAYER_RESOURCE_H #ifdef _WIN32 #pragma once #endif #include "shareddefs.h" class CPlayerResource : public CBaseEntity { DECLARE_CLASS(CPlayerResource, CBaseEntity); public: DECLARE_SERVERCLASS(); DECLARE_DATADESC(); virtual void Spawn(void); virtual int ObjectCaps(void) { return BaseClass::ObjectCaps() | FCAP_DONT_SAVE; } virtual void ResourceThink(void); virtual void UpdatePlayerData(void); virtual int UpdateTransmitState(void); protected: // Data for each player that's propagated to all clients // Stored in individual arrays so they can be sent down via datatables CNetworkArray(int, m_iPing, MAX_PLAYERS + 1); CNetworkArray(int, m_iScore, MAX_PLAYERS + 1); CNetworkArray(int, m_iDeaths, MAX_PLAYERS + 1); CNetworkArray(int, m_bConnected, MAX_PLAYERS + 1); CNetworkArray(int, m_iTeam, MAX_PLAYERS + 1); CNetworkArray(int, m_bAlive, MAX_PLAYERS + 1); CNetworkArray(int, m_iHealth, MAX_PLAYERS + 1); int m_nUpdateCounter; }; extern CPlayerResource *g_pPlayerResource; #endif // PLAYER_RESOURCE_H