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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef WEAPON_DODBASE_GUN_H
#define WEAPON_DODBASE_GUN_H
#ifdef _WIN32
#pragma once
#endif
#include "weapon_dodbase.h"
// This is the base class for pistols and rifles.
#if defined( CLIENT_DLL )
//#include "particles_simple.h"
//#include "particles_localspace.h"
#include "fx.h"
#include "fx_dod_muzzleflash.h"
#define CWeaponDODBaseGun C_WeaponDODBaseGun
#else
#endif
class CWeaponDODBaseGun : public CWeaponDODBase { public: DECLARE_CLASS( CWeaponDODBaseGun, CWeaponDODBase ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE(); CWeaponDODBaseGun();
virtual void Spawn(); virtual void Precache(); virtual void PrimaryAttack(); virtual bool Reload();
// Derived classes must call this from inside their Spawn() function instead of
// just chaining the Spawn() call down.
void DODBaseGunSpawn( void ); // Derived classes call this to fire a bullet.
bool DODBaseGunFire( void );
// Usually plays the shot sound. Guns with silencers can play different sounds.
virtual void DoFireEffects(); virtual float GetFireDelay( void );
virtual float GetWeaponAccuracy( float flPlayerSpeed );
//Pure animation calls - inheriting classes can override with specific
//logic, eg if the idle changes depending on the gun being empty or not
virtual Activity GetPrimaryAttackActivity( void ); virtual Activity GetReloadActivity( void ); virtual Activity GetDrawActivity( void );
virtual bool CanDrop( void ) { return m_pWeaponInfo->m_bCanDrop; } void SetZoomed( bool bZoomed ) { m_bZoomed = bZoomed; } bool IsSniperZoomed( void ) { return m_bZoomed; } CNetworkVar( bool, m_bZoomed );
protected: CDODWeaponInfo *m_pWeaponInfo;
private: CWeaponDODBaseGun( const CWeaponDODBaseGun & );
#ifndef CLIENT_DLL
DECLARE_DATADESC();
#endif
};
#endif // WEAPON_DODBASE_GUN_H
|