Counter Strike : Global Offensive Source Code
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.

57 lines
1.2 KiB

  1. //===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
  2. //
  3. // Purpose:
  4. //
  5. //===========================================================================//
  6. #ifndef WEAPON_IFMBASE_H
  7. #define WEAPON_IFMBASE_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #if defined( CLIENT_DLL )
  12. #define CWeaponIFMBase C_WeaponIFMBase
  13. #endif
  14. #if defined ( TF_CLIENT_DLL ) || defined ( TF_DLL )
  15. #include "tf_weaponbase.h"
  16. #define CWeaponModBaseClass CTFWeaponBase
  17. #endif
  18. class CWeaponIFMBase : public CWeaponModBaseClass
  19. {
  20. public:
  21. DECLARE_CLASS( CWeaponIFMBase, CWeaponModBaseClass );
  22. DECLARE_NETWORKCLASS();
  23. DECLARE_PREDICTABLE();
  24. CWeaponIFMBase();
  25. #ifdef GAME_DLL
  26. DECLARE_DATADESC();
  27. #endif
  28. // All predicted weapons need to implement and return true
  29. virtual bool IsPredicted() const;
  30. // virtual void FallInit( void );
  31. public:
  32. #if defined( CLIENT_DLL )
  33. virtual bool ShouldPredict();
  34. virtual void OnDataChanged( DataUpdateType_t type );
  35. #else
  36. virtual void Spawn();
  37. // FIXME: How should this work? This is a hack to get things working
  38. virtual const unsigned char *GetEncryptionKey( void ) { return NULL; }
  39. #endif
  40. private:
  41. CWeaponIFMBase( const CWeaponIFMBase & );
  42. };
  43. #endif // WEAPON_IFMBASE_H