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.
81 lines
2.6 KiB
81 lines
2.6 KiB
![]()
4 years ago
|
//========= 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
|