Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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.

64 lines
1.6 KiB

5 years ago
//========= 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