Counter Strike : Global Offensive Source Code
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.
 
 
 
 
 
 

80 lines
1.5 KiB

//========= 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