Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.7 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose: Client side CTFTeam class
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef C_DOD_TEAM_H
  8. #define C_DOD_TEAM_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "c_team.h"
  13. #include "shareddefs.h"
  14. #include "dod_playerclass_info_parse.h"
  15. #include "dod_shareddefs.h"
  16. class C_BaseEntity;
  17. class C_BaseObject;
  18. class CBaseTechnology;
  19. //-----------------------------------------------------------------------------
  20. // Purpose: TF's Team manager
  21. //-----------------------------------------------------------------------------
  22. class C_DODTeam : public C_Team
  23. {
  24. DECLARE_CLASS( C_DODTeam, C_Team );
  25. public:
  26. DECLARE_CLIENTCLASS();
  27. C_DODTeam();
  28. virtual ~C_DODTeam();
  29. CDODPlayerClassInfo const &GetPlayerClassInfo( int iPlayerClass ) const;
  30. const unsigned char *GetEncryptionKey( void ) { return g_pGameRules->GetEncryptionKey(); }
  31. virtual void AddPlayerClass( const char *pszClassName );
  32. bool IsClassOnTeam( const char *pszClassName, int &iClassNum ) const;
  33. bool IsClassOnTeam( int iClassNum ) const;
  34. int GetNumPlayerClasses( void ) { return m_hPlayerClassInfoHandles.Count(); }
  35. int CountPlayersOfThisClass( int iPlayerClass );
  36. private:
  37. CUtlVector < PLAYERCLASS_FILE_INFO_HANDLE > m_hPlayerClassInfoHandles;
  38. };
  39. class C_DODTeam_Allies : public C_DODTeam
  40. {
  41. DECLARE_CLASS( C_DODTeam_Allies, C_DODTeam );
  42. public:
  43. DECLARE_CLIENTCLASS();
  44. C_DODTeam_Allies();
  45. virtual ~C_DODTeam_Allies() {}
  46. };
  47. class C_DODTeam_Axis : public C_DODTeam
  48. {
  49. DECLARE_CLASS( C_DODTeam_Axis, C_DODTeam );
  50. public:
  51. DECLARE_CLIENTCLASS();
  52. C_DODTeam_Axis();
  53. virtual ~C_DODTeam_Axis() {}
  54. };
  55. #endif // C_DOD_TEAM_H