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.
97 lines
2.9 KiB
97 lines
2.9 KiB
//========= 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
|
|
|