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.

65 lines
2.2 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose: Auto Repair
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #include "cbase.h"
  8. #include "c_tf_class_commando.h"
  9. #include "c_tf_class_defender.h"
  10. #include "c_tf_class_escort.h"
  11. #include "c_tf_class_infiltrator.h"
  12. #include "c_tf_class_medic.h"
  13. #include "c_tf_class_recon.h"
  14. #include "c_tf_class_sniper.h"
  15. #include "c_tf_class_support.h"
  16. #include "c_tf_class_sapper.h"
  17. //-----------------------------------------------------------------------------
  18. // Purpose:
  19. //-----------------------------------------------------------------------------
  20. C_PlayerClass::C_PlayerClass( C_BaseTFPlayer *pPlayer )
  21. {
  22. // Save peer.
  23. m_pPlayer = pPlayer;
  24. }
  25. //-----------------------------------------------------------------------------
  26. // Purpose:
  27. //-----------------------------------------------------------------------------
  28. C_PlayerClass::~C_PlayerClass()
  29. {
  30. }
  31. //-----------------------------------------------------------------------------
  32. // Purpose:
  33. //-----------------------------------------------------------------------------
  34. C_PlayerClass *C_PlayerClass::Create( C_BaseTFPlayer *pPlayer, int iClassType )
  35. {
  36. // Create the class type
  37. switch ( iClassType )
  38. {
  39. case TFCLASS_COMMANDO: { return ( new C_PlayerClassCommando( pPlayer ) ); }
  40. case TFCLASS_DEFENDER: { return ( new C_PlayerClassDefender( pPlayer ) ); }
  41. case TFCLASS_ESCORT: { return ( new C_PlayerClassEscort( pPlayer ) ); }
  42. case TFCLASS_INFILTRATOR: { return ( new C_PlayerClassInfiltrator( pPlayer ) ); }
  43. case TFCLASS_MEDIC: { return ( new C_PlayerClassMedic( pPlayer ) ); }
  44. case TFCLASS_RECON: { return ( new C_PlayerClassRecon( pPlayer ) ); }
  45. case TFCLASS_SNIPER: { return ( new C_PlayerClassSniper( pPlayer ) ); }
  46. case TFCLASS_SUPPORT: { return ( new C_PlayerClassSupport( pPlayer ) ); }
  47. case TFCLASS_SAPPER: { return ( new C_PlayerClassSapper( pPlayer ) ); }
  48. default: { return NULL; }
  49. }
  50. }
  51. //-----------------------------------------------------------------------------
  52. // Purpose:
  53. //-----------------------------------------------------------------------------
  54. void C_PlayerClass::Destroy( C_PlayerClass *pPlayerClass )
  55. {
  56. if ( pPlayerClass )
  57. {
  58. delete pPlayerClass;
  59. }
  60. }