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.
98 lines
2.9 KiB
98 lines
2.9 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef WEAPON_TWOHANDEDCONTAINER_H
|
||
|
#define WEAPON_TWOHANDEDCONTAINER_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "basetfcombatweapon_shared.h"
|
||
|
#include "baseviewmodel_shared.h"
|
||
|
#include "studio.h"
|
||
|
|
||
|
#if defined( CLIENT_DLL )
|
||
|
#define CWeaponTwoHandedContainer C_WeaponTwoHandedContainer
|
||
|
#endif
|
||
|
|
||
|
class CBaseViewModel;
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Client side rep of CBaseTFCombatWeapon
|
||
|
//-----------------------------------------------------------------------------
|
||
|
class CWeaponTwoHandedContainer : public CBaseTFCombatWeapon
|
||
|
{
|
||
|
DECLARE_CLASS( CWeaponTwoHandedContainer, CBaseTFCombatWeapon );
|
||
|
public:
|
||
|
DECLARE_NETWORKCLASS();
|
||
|
DECLARE_PREDICTABLE();
|
||
|
|
||
|
CWeaponTwoHandedContainer();
|
||
|
~CWeaponTwoHandedContainer();
|
||
|
|
||
|
virtual void Spawn( void );
|
||
|
virtual void ItemPostFrame( void );
|
||
|
virtual void ItemBusyFrame( void );
|
||
|
virtual void SetWeapons( CBaseTFCombatWeapon *left, CBaseTFCombatWeapon *right );
|
||
|
virtual void UnhideSecondViewmodel( void );
|
||
|
virtual void AbortReload( void );
|
||
|
virtual bool HasAnyAmmo( void );
|
||
|
virtual bool Deploy( void );
|
||
|
virtual bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL );
|
||
|
virtual CBaseCombatWeapon *GetLastWeapon( void );
|
||
|
virtual int GetWeight( void );
|
||
|
|
||
|
virtual const char *GetViewModel( int viewmodelindex = 0 );
|
||
|
virtual char *GetDeathNoticeName( void );
|
||
|
virtual float GetDefaultAnimSpeed( void );
|
||
|
|
||
|
// All predicted weapons need to implement and return true
|
||
|
virtual bool IsPredicted( void ) const
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
#if defined( CLIENT_DLL )
|
||
|
|
||
|
virtual bool OnFireEvent( C_BaseViewModel *pViewModel, const Vector& origin, const QAngle& angles, int event, const char *options );
|
||
|
virtual void GetViewmodelBoneControllers( CBaseViewModel *pViewModel, float controllers[MAXSTUDIOBONECTRLS]);
|
||
|
|
||
|
virtual void OnDataChanged( DataUpdateType_t updateType );
|
||
|
|
||
|
virtual bool ShouldDraw( void );
|
||
|
virtual void Redraw(void);
|
||
|
virtual void DrawAmmo( void );
|
||
|
virtual void HandleInput( void );
|
||
|
virtual void OverrideMouseInput( float *x, float *y );
|
||
|
virtual void ViewModelDrawn( CBaseViewModel *pBaseViewModel );
|
||
|
void HookWeaponEntities( void );
|
||
|
virtual bool VisibleInWeaponSelection( void );
|
||
|
|
||
|
private:
|
||
|
CWeaponTwoHandedContainer( const CWeaponTwoHandedContainer & );
|
||
|
public:
|
||
|
|
||
|
#else
|
||
|
|
||
|
virtual void SetTransmit( CCheckTransmitInfo *pInfo, bool bAlways );
|
||
|
|
||
|
#endif
|
||
|
|
||
|
CBaseTFCombatWeapon *GetLeftWeapon( void );
|
||
|
CBaseTFCombatWeapon *GetRightWeapon( void );
|
||
|
|
||
|
public:
|
||
|
CNetworkHandle( CBaseTFCombatWeapon, m_hRightWeapon );
|
||
|
CNetworkHandle( CBaseTFCombatWeapon, m_hLeftWeapon );
|
||
|
#if defined( CLIENT_DLL )
|
||
|
CHandle<CBaseTFCombatWeapon> m_hOldRightWeapon;
|
||
|
CHandle<CBaseTFCombatWeapon> m_hOldLeftWeapon;
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
#endif // WEAPON_TWOHANDEDCONTAINER_H
|