summaryrefslogtreecommitdiff
path: root/game/server/dod/dod_team.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/dod/dod_team.h')
-rw-r--r--game/server/dod/dod_team.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/game/server/dod/dod_team.h b/game/server/dod/dod_team.h
new file mode 100644
index 0000000..31c510f
--- /dev/null
+++ b/game/server/dod/dod_team.h
@@ -0,0 +1,60 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Team management class. Contains all the details for a specific team
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef DOD_TEAM_H
+#define DOD_TEAM_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include "utlvector.h"
+#include "team.h"
+#include "playerclass_info_parse.h"
+#include "dod_playerclass_info_parse.h"
+#include "dod_shareddefs.h"
+#include "dod_player.h"
+
+typedef CUtlLinkedList< PLAYERCLASS_FILE_INFO_HANDLE, int > PlayerClassInfoList;
+
+//-----------------------------------------------------------------------------
+// Purpose: Team Manager
+//-----------------------------------------------------------------------------
+class CDODTeam : public CTeam
+{
+ DECLARE_CLASS( CDODTeam, CTeam );
+ DECLARE_SERVERCLASS();
+
+public:
+
+ // Initialization
+ virtual void Init( const char *pName, int iNumber );
+
+ CDODPlayerClassInfo const &GetPlayerClassInfo( int iPlayerClass ) const;
+ const unsigned char *GetEncryptionKey( void ) { return g_pGameRules->GetEncryptionKey(); }
+
+ virtual void AddPlayerClass( const char *pszClassName );
+
+ bool IsClassOnTeam( const char *pszClassName, int &iClassNum ) const;
+ int GetNumPlayerClasses( void ) { return m_hPlayerClassInfoHandles.Count(); }
+
+ void ResetScores( void );
+
+ virtual const char *GetTeamName( void ) { return "#Teamname_Spectators"; }
+
+ virtual CDODPlayer *GetDODPlayer( int iIndex ) { return ToDODPlayer(GetPlayer(iIndex)); }
+
+private:
+ CUtlVector < PLAYERCLASS_FILE_INFO_HANDLE > m_hPlayerClassInfoHandles;
+};
+
+
+extern CDODTeam *GetGlobalDODTeam( int iIndex );
+
+
+#endif // TF_TEAM_H