//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #ifndef WEAPON_KNIFE_H #define WEAPON_KNIFE_H #ifdef _WIN32 #pragma once #endif #include "weapon_csbase.h" #if defined( CLIENT_DLL ) #define CKnife C_Knife #define CKnifeGG C_KnifeGG #endif // ----------------------------------------------------------------------------- // // CKnife class definition. // ----------------------------------------------------------------------------- // class CKnife : public CWeaponCSBase { public: DECLARE_CLASS( CKnife, CWeaponCSBase ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE(); CKnife(); // We say yes to this so the weapon system lets us switch to it. virtual bool HasPrimaryAmmo(); virtual bool CanBeSelected(); virtual void Precache(); void Spawn(); bool SwingOrStab( CSWeaponMode weaponMode ); void PrimaryAttack(); void SecondaryAttack(); void WeaponAnimation( int iAnimation ); virtual bool Deploy(); bool CanDrop(); void WeaponIdle(); virtual CSWeaponID GetCSWeaponID( void ) const { return WEAPON_KNIFE; } private: CKnife( const CKnife & ) {} #ifndef CLIENT_DLL bool m_swingLeft; #endif }; class CKnifeGG : public CKnife { public: DECLARE_CLASS( CKnifeGG, CKnife ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE(); virtual CSWeaponID GetCSWeaponID( void ) const { return WEAPON_KNIFE_GG; } }; #endif // WEAPON_KNIFE_H