diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/c_team.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/client/c_team.h')
| -rw-r--r-- | game/client/c_team.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/game/client/c_team.h b/game/client/c_team.h new file mode 100644 index 0000000..5f26917 --- /dev/null +++ b/game/client/c_team.h @@ -0,0 +1,87 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Client side CTeam class +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef C_TEAM_H +#define C_TEAM_H +#ifdef _WIN32 +#pragma once +#endif + +#include "shareddefs.h" +#include "utlvector.h" +#include "client_thinklist.h" + + +class C_BasePlayer; + +class C_Team : public C_BaseEntity +{ + DECLARE_CLASS( C_Team, C_BaseEntity ); +public: + DECLARE_CLIENTCLASS(); + DECLARE_PREDICTABLE(); + + C_Team(); + virtual ~C_Team(); + + virtual void PreDataUpdate( DataUpdateType_t updateType ); + + // Data Handling + virtual char *Get_Name( void ); + virtual int Get_Score( void ); + virtual int Get_Deaths( void ); + virtual int Get_Ping( void ); + + // Player Handling + virtual int Get_Number_Players( void ); + virtual bool ContainsPlayer( int iPlayerIndex ); + C_BasePlayer* GetPlayer( int idx ); + + // for shared code, use the same function name + virtual int GetNumPlayers( void ) { return Get_Number_Players(); } + + int GetTeamNumber() const; + + int GetRoundsWon(void) { return m_iRoundsWon; } + + void RemoveAllPlayers(); + + +// IClientThinkable overrides. +public: + + virtual void ClientThink(); + + +public: + + // Data received from the server + CUtlVector< int > m_aPlayers; + char m_szTeamname[ MAX_TEAM_NAME_LENGTH ]; + int m_iScore; + int m_iRoundsWon; + + // Data for the scoreboard + int m_iDeaths; + int m_iPing; + int m_iPacketloss; + int m_iTeamNum; +}; + + +// Global list of client side team entities +extern CUtlVector< C_Team * > g_Teams; + +// Global team handling functions +C_Team *GetLocalTeam( void ); +C_Team *GetGlobalTeam( int iTeamNumber ); +C_Team *GetPlayersTeam( int iPlayerIndex ); +C_Team *GetPlayersTeam( C_BasePlayer *pPlayer ); +bool ArePlayersOnSameTeam( int iPlayerIndex1, int iPlayerIndex2 ); +extern int GetNumberOfTeams( void ); + +#endif // C_TEAM_H |