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.
85 lines
1.5 KiB
85 lines
1.5 KiB
![]()
4 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef WEAPON_TFC_MINIGUN_H
|
||
|
#define WEAPON_TFC_MINIGUN_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#include "weapon_tfcbase.h"
|
||
|
|
||
|
|
||
|
#if defined( CLIENT_DLL )
|
||
|
|
||
|
#define CTFCMinigun C_TFCMinigun
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
enum MinigunState_t
|
||
|
{
|
||
|
// assault cannon firing states
|
||
|
AC_STATE_IDLE=0,
|
||
|
AC_STATE_STARTFIRING,
|
||
|
AC_STATE_FIRING,
|
||
|
AC_STATE_SPINNING
|
||
|
};
|
||
|
|
||
|
// ----------------------------------------------------------------------------- //
|
||
|
// CTFCMinigun class definition.
|
||
|
// ----------------------------------------------------------------------------- //
|
||
|
|
||
|
class CTFCMinigun : public CWeaponTFCBase
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CTFCMinigun, CWeaponTFCBase );
|
||
|
DECLARE_NETWORKCLASS();
|
||
|
DECLARE_PREDICTABLE();
|
||
|
|
||
|
#ifndef CLIENT_DLL
|
||
|
DECLARE_DATADESC();
|
||
|
#endif
|
||
|
|
||
|
|
||
|
CTFCMinigun();
|
||
|
|
||
|
// We say yes to this so the weapon system lets us switch to it.
|
||
|
virtual bool HasPrimaryAmmo();
|
||
|
virtual bool CanBeSelected();
|
||
|
virtual void Precache();
|
||
|
virtual void PrimaryAttack();
|
||
|
virtual void WeaponIdle();
|
||
|
virtual bool Deploy();
|
||
|
virtual bool SendWeaponAnim( int iActivity );
|
||
|
virtual void HandleFireOnEmpty();
|
||
|
|
||
|
virtual TFCWeaponID GetWeaponID( void ) const;
|
||
|
|
||
|
|
||
|
// Overrideables.
|
||
|
public:
|
||
|
|
||
|
private:
|
||
|
|
||
|
CTFCMinigun( const CTFCMinigun & ) {}
|
||
|
|
||
|
void WindUp();
|
||
|
void Spin();
|
||
|
void Fire();
|
||
|
void StartSpin();
|
||
|
void WindDown( bool bFromHolster );
|
||
|
|
||
|
|
||
|
private:
|
||
|
|
||
|
MinigunState_t m_iWeaponState;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // WEAPON_TFC_MINIGUN_H
|