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.

73 lines
1.9 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef TF_WEAPON_PARACHUTE_H
  7. #define TF_WEAPON_PARACHUTE_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "tf_weaponbase_gun.h"
  12. #include "tf_weapon_buff_item.h"
  13. // Client specific.
  14. #ifdef CLIENT_DLL
  15. #define CTFParachute C_TFParachute
  16. #define CTFParachute_Primary C_TFParachute_Primary
  17. #define CTFParachute_Secondary C_TFParachute_Secondary
  18. #endif
  19. //=============================================================================
  20. //
  21. // Parachute
  22. //
  23. class CTFParachute : public CTFBuffItem
  24. {
  25. public:
  26. DECLARE_CLASS( CTFParachute, CTFBuffItem );
  27. DECLARE_NETWORKCLASS();
  28. DECLARE_PREDICTABLE();
  29. CTFParachute();
  30. virtual int GetWeaponID( void ) const { return TF_WEAPON_PARACHUTE; }
  31. virtual bool VisibleInWeaponSelection( void ) { return false; }
  32. virtual bool CanBeSelected( void ) { return false; }
  33. virtual bool CanDeploy( void ) { return false; }
  34. virtual void CreateBanner();
  35. #ifdef CLIENT_DLL
  36. virtual void ClientThink( void );
  37. void ParachuteAnimThink( void );
  38. #endif // CLIENT_DLL
  39. private:
  40. #ifdef CLIENT_DLL
  41. int m_iParachuteAnimState;
  42. float m_flParachuteToIdleTime;
  43. #endif // CLIENT_DLL
  44. };
  45. //=============================================================================
  46. // Parachute Primary (demo)
  47. class CTFParachute_Primary : public CTFParachute
  48. {
  49. public:
  50. DECLARE_CLASS( CTFParachute_Primary, CTFParachute );
  51. DECLARE_NETWORKCLASS();
  52. DECLARE_PREDICTABLE();
  53. };
  54. //=============================================================================
  55. // Parachute Secondary (soldier)
  56. class CTFParachute_Secondary : public CTFParachute
  57. {
  58. public:
  59. DECLARE_CLASS( CTFParachute_Secondary, CTFParachute );
  60. DECLARE_NETWORKCLASS();
  61. DECLARE_PREDICTABLE();
  62. };
  63. #endif // TF_WEAPON_BUFF_ITEM_H