69 lines
1.6 KiB
C++
69 lines
1.6 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef WEAPON_BASECOMBATOBJECT_H
|
|
#define WEAPON_BASECOMBATOBJECT_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "basetfcombatweapon_shared.h"
|
|
|
|
class CBaseTFPlayer;
|
|
|
|
#if defined( CLIENT_DLL )
|
|
|
|
#define CWeaponBaseCombatObject C_WeaponBaseCombatObject
|
|
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Base class for combat object weapons
|
|
//-----------------------------------------------------------------------------
|
|
class CWeaponBaseCombatObject : public CBaseTFCombatWeapon
|
|
{
|
|
DECLARE_CLASS( CWeaponBaseCombatObject, CBaseTFCombatWeapon );
|
|
public:
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
|
|
CWeaponBaseCombatObject();
|
|
|
|
virtual void PrimaryAttack( void );
|
|
virtual bool GetPlacePosition( CBaseTFPlayer *pBuilder, Vector *vecPlaceOrigin, QAngle *angPlaceAngles );
|
|
virtual void PlaceCombatObject( CBaseTFPlayer *pBuilder, Vector vecOrigin, QAngle angles );
|
|
virtual float GetFireRate( void );
|
|
|
|
protected:
|
|
char *m_szObjectName;
|
|
Vector m_vecBuildMins;
|
|
Vector m_vecBuildMaxs;
|
|
|
|
/*
|
|
// All predicted weapons need to implement and return true
|
|
virtual bool IsPredicted( void ) const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
#if defined( CLIENT_DLL )
|
|
virtual bool ShouldPredict( void )
|
|
{
|
|
if ( GetOwner() == C_BasePlayer::GetLocalPlayer() )
|
|
return true;
|
|
|
|
return BaseClass::ShouldPredict();
|
|
}
|
|
#endif
|
|
*/
|
|
|
|
private:
|
|
CWeaponBaseCombatObject( const CWeaponBaseCombatObject & );
|
|
};
|
|
|
|
#endif // WEAPON_BASECOMBATOBJECT_H
|