blob: d5d526dbb9ec083fa11581a28873b9e615a1b8aa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef ICLIENTVEHICLE_H
#define ICLIENTVEHICLE_H
#ifdef _WIN32
#pragma once
#endif
#include "IVehicle.h"
class C_BasePlayer;
class Vector;
class QAngle;
class C_BaseEntity;
//-----------------------------------------------------------------------------
// Purpose: All client vehicles must implement this interface.
//-----------------------------------------------------------------------------
abstract_class IClientVehicle : public IVehicle
{
public:
// When a player is in a vehicle, here's where the camera will be
virtual void GetVehicleFOV( float &flFOV ) = 0;
// Allows the vehicle to restrict view angles, blend, etc.
virtual void UpdateViewAngles( C_BasePlayer *pLocalPlayer, CUserCmd *pCmd ) = 0;
// Hud redraw...
virtual void DrawHudElements() = 0;
// Is this predicted?
virtual bool IsPredicted() const = 0;
// Get the entity associated with the vehicle.
virtual C_BaseEntity *GetVehicleEnt() = 0;
// Allows the vehicle to change the near clip plane
virtual void GetVehicleClipPlanes( float &flZNear, float &flZFar ) const = 0;
// Allows vehicles to choose their own curves for players using joysticks
virtual int GetJoystickResponseCurve() const = 0;
#ifdef HL2_CLIENT_DLL
// Ammo in the vehicles
virtual int GetPrimaryAmmoType() const = 0;
virtual int GetPrimaryAmmoClip() const = 0;
virtual bool PrimaryAmmoUsesClips() const = 0;
virtual int GetPrimaryAmmoCount() const = 0;
#endif
};
#endif // ICLIENTVEHICLE_H
|