Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= 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
|