hl2_src-leak-2017/src/game/client/hl2/c_vehicle_crane.h

81 lines
2.6 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#include "iclientvehicle.h"
#include "vehicle_viewblend_shared.h"
#ifndef C_VEHICLE_CRANE_H
#define C_VEHICLE_CRANE_H
#pragma once
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
class C_PropCrane : public C_BaseAnimating, public IClientVehicle
{
DECLARE_CLASS( C_PropCrane, C_BaseAnimating );
public:
DECLARE_CLIENTCLASS();
DECLARE_DATADESC();
C_PropCrane();
void PreDataUpdate( DataUpdateType_t updateType );
void PostDataUpdate( DataUpdateType_t updateType );
bool IsMagnetOn( void ) { return m_bMagnetOn; }
public:
// IClientVehicle overrides.
virtual void GetVehicleViewPosition( int nRole, Vector *pOrigin, QAngle *pAngles, float *pFOV =NULL );
virtual void GetVehicleFOV( float &flFOV ) { flFOV = 0.0f; }
virtual void DrawHudElements();
virtual bool IsPassengerUsingStandardWeapons( int nRole = VEHICLE_ROLE_DRIVER ) { return false; }
virtual void UpdateViewAngles( C_BasePlayer *pLocalPlayer, CUserCmd *pCmd ) {}
virtual C_BaseCombatCharacter* GetPassenger( int nRole );
virtual int GetPassengerRole( C_BaseCombatCharacter *pPassenger );
virtual void GetVehicleClipPlanes( float &flZNear, float &flZFar ) const;
virtual int GetPrimaryAmmoType() const { return -1; }
virtual int GetPrimaryAmmoCount() const { return -1; }
virtual int GetPrimaryAmmoClip() const { return -1; }
virtual bool PrimaryAmmoUsesClips() const { return false; }
virtual int GetJoystickResponseCurve() const { return 0; }
public:
// C_BaseEntity overrides.
virtual IClientVehicle* GetClientVehicle() { return this; }
virtual C_BaseEntity *GetVehicleEnt() { return this; }
virtual void SetupMove( C_BasePlayer *player, CUserCmd *ucmd, IMoveHelper *pHelper, CMoveData *move ) {}
virtual void ProcessMovement( C_BasePlayer *pPlayer, CMoveData *pMoveData ) {}
virtual void FinishMove( C_BasePlayer *player, CUserCmd *ucmd, CMoveData *move ) {}
virtual bool IsPredicted() const { return false; }
virtual void ItemPostFrame( C_BasePlayer *pPlayer ) {}
virtual bool IsSelfAnimating() { return false; };
virtual void GetRenderBounds( Vector& theMins, Vector& theMaxs );
private:
CHandle<C_BasePlayer> m_hPlayer;
CHandle<C_BasePlayer> m_hPrevPlayer;
bool m_bEnterAnimOn;
bool m_bExitAnimOn;
Vector m_vecEyeExitEndpoint;
bool m_bMagnetOn;
Vector m_vecOldShadowDir;
ViewSmoothingData_t m_ViewSmoothingData;
};
#endif // C_VEHICLE_CRANE_H