Counter Strike : Global Offensive Source Code
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.

59 lines
1.6 KiB

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