hl2_src-leak-2017/src/game/client/tf2/c_weapon_builder.h

64 lines
1.6 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef C_WEAPON_BUILDER_H
#define C_WEAPON_BUILDER_H
#ifdef _WIN32
#pragma once
#endif
#include "c_tf_basecombatweapon.h"
#include "weapon_combat_usedwithshieldbase.h"
//=============================================================================
// Purpose: Client version of CWeaponBuiler
//=============================================================================
class C_WeaponBuilder : public C_WeaponCombatUsedWithShieldBase
{
DECLARE_CLASS( C_WeaponBuilder, C_WeaponCombatUsedWithShieldBase );
public:
DECLARE_CLIENTCLASS();
DECLARE_PREDICTABLE();
C_WeaponBuilder();
~C_WeaponBuilder();
virtual void Redraw();
virtual bool VisibleInWeaponSelection( void ) { return false; }
virtual bool IsPlacingObject( void );
virtual bool IsBuildingObject( void );
virtual const char *GetCurrentSelectionObjectName( void );
C_BaseObject *GetPlacementModel( void ) { return m_hObjectBeingBuilt.Get(); }
public:
// Builder Data
int m_iBuildState;
unsigned int m_iCurrentObject;
int m_iCurrentObjectState;
float m_flStartTime;
float m_flTotalTime;
vgui::HFont m_hFont;
// Our placement model
CHandle<C_BaseObject> m_hObjectBeingBuilt;
// Objects that this builder can build
bool m_bObjectValidity[ OBJ_LAST ];
// Buildability of each object
bool m_bObjectBuildability[ OBJ_LAST ];
// Materials
CMaterialReference m_pIconFireToSelect;
private:
C_WeaponBuilder( const C_WeaponBuilder & );
};
#endif // C_WEAPON_BUILDER_H