mirror of
https://github.com/nillerusr/source-engine.git
synced 2025-04-08 09:24:44 +00:00
83 lines
2.0 KiB
C++
83 lines
2.0 KiB
C++
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef TF_WEAPON_BUILDER_H
|
|
#define TF_WEAPON_BUILDER_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "tf_weaponbase.h"
|
|
|
|
class CBaseObject;
|
|
|
|
//=========================================================
|
|
// Builder Weapon
|
|
//=========================================================
|
|
class CTFWeaponBuilder : public CTFWeaponBase
|
|
{
|
|
DECLARE_CLASS( CTFWeaponBuilder, CTFWeaponBase );
|
|
public:
|
|
CTFWeaponBuilder();
|
|
~CTFWeaponBuilder();
|
|
|
|
DECLARE_SERVERCLASS();
|
|
|
|
virtual void SetSubType( int iSubType );
|
|
virtual void Precache( void );
|
|
virtual bool CanDeploy( void );
|
|
virtual bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL );
|
|
virtual void ItemPostFrame( void );
|
|
virtual void PrimaryAttack( void );
|
|
virtual void SecondaryAttack( void );
|
|
virtual void WeaponIdle( void );
|
|
virtual bool Deploy( void );
|
|
virtual Activity GetDrawActivity( void );
|
|
virtual const char *GetViewModel( int iViewModel ) const;
|
|
virtual const char *GetWorldModel( void ) const;
|
|
|
|
virtual bool AllowsAutoSwitchTo( void ) const;
|
|
|
|
virtual int GetType( void ) { return m_iObjectType; }
|
|
|
|
void SetCurrentState( int iState );
|
|
void SwitchOwnersWeaponToLast();
|
|
|
|
// Placement
|
|
void StartPlacement( void );
|
|
void StopPlacement( void );
|
|
void UpdatePlacementState( void ); // do a check for valid placement
|
|
bool IsValidPlacement( void ); // is this a valid placement pos?
|
|
|
|
|
|
// Building
|
|
void StartBuilding( void );
|
|
|
|
// Selection
|
|
bool HasAmmo( void );
|
|
int GetSlot( void ) const;
|
|
int GetPosition( void ) const;
|
|
const char *GetPrintName( void ) const;
|
|
|
|
virtual int GetWeaponID( void ) const { return TF_WEAPON_BUILDER; }
|
|
|
|
virtual void WeaponReset( void );
|
|
|
|
public:
|
|
CNetworkVar( int, m_iBuildState );
|
|
CNetworkVar( unsigned int, m_iObjectType );
|
|
|
|
CNetworkHandle( CBaseObject, m_hObjectBeingBuilt );
|
|
|
|
int m_iValidBuildPoseParam;
|
|
|
|
float m_flNextDenySound;
|
|
};
|
|
|
|
|
|
#endif // TF_WEAPON_BUILDER_H
|