csgo-2018-source/game/shared/weapon_ifmbase.h

58 lines
1.2 KiB
C
Raw Permalink Normal View History

2021-07-24 21:11:47 -07:00
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef WEAPON_IFMBASE_H
#define WEAPON_IFMBASE_H
#ifdef _WIN32
#pragma once
#endif
#if defined( CLIENT_DLL )
#define CWeaponIFMBase C_WeaponIFMBase
#endif
#if defined ( TF_CLIENT_DLL ) || defined ( TF_DLL )
#include "tf_weaponbase.h"
#define CWeaponModBaseClass CTFWeaponBase
#endif
class CWeaponIFMBase : public CWeaponModBaseClass
{
public:
DECLARE_CLASS( CWeaponIFMBase, CWeaponModBaseClass );
DECLARE_NETWORKCLASS();
DECLARE_PREDICTABLE();
CWeaponIFMBase();
#ifdef GAME_DLL
DECLARE_DATADESC();
#endif
// All predicted weapons need to implement and return true
virtual bool IsPredicted() const;
// virtual void FallInit( void );
public:
#if defined( CLIENT_DLL )
virtual bool ShouldPredict();
virtual void OnDataChanged( DataUpdateType_t type );
#else
virtual void Spawn();
// FIXME: How should this work? This is a hack to get things working
virtual const unsigned char *GetEncryptionKey( void ) { return NULL; }
#endif
private:
CWeaponIFMBase( const CWeaponIFMBase & );
};
#endif // WEAPON_IFMBASE_H