hl2_src-leak-2017/src/game/shared/tf/tf_wearable_item_demoshield.h

67 lines
1.4 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef TF_WEARABLE_ITEM_DEMOSHIELD_H
#define TF_WEARABLE_ITEM_DEMOSHIELD_H
#ifdef _WIN32
#pragma once
#endif
#include "cbase.h"
#include "tf_shareddefs.h"
#include "tf_item_wearable.h"
#ifdef CLIENT_DLL
#include "c_tf_player.h"
#include "tf_viewmodel.h"
#include "bone_setup.h"
#else
#include "tf_player.h"
#endif
#ifdef CLIENT_DLL
#define CTFWearableDemoShield C_TFWearableDemoShield
class C_TFSword;
#endif
//=============================================================================
//
//
//
class CTFWearableDemoShield : public CTFWearable
{
DECLARE_CLASS( CTFWearableDemoShield, CTFWearable );
public:
DECLARE_NETWORKCLASS();
DECLARE_DATADESC();
CTFWearableDemoShield();
virtual void Precache();
void DoSpecialAction( CTFPlayer *pPlayer );
void EndSpecialAction( CTFPlayer *pPlayer );
// Charge
bool CanCharge( CTFPlayer *pPlayer );
void DoCharge( CTFPlayer *pPlayer );
void ShieldBash( CTFPlayer *pPlayer, float flCurrentChargeMeter );
virtual void Equip( CBasePlayer* pOwner );
virtual void UnEquip( CBasePlayer* pOwner );
float CalculateChargeDamage( float flCurrentChargeMeter );
Vector GetShieldDamageForce( float flCurrentChargeMeter );
private:
#ifdef GAME_DLL
bool m_bImpactedSomething;
#endif
};
#endif // TF_WEARABLE_ITEM_DEMOSHIELD_H