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.
80 lines
2.6 KiB
80 lines
2.6 KiB
//========= 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
|
|
|