Files
AE86-3DS/Assets/Ash Assets/Arcade Vehicle Physics/Scripts/InputManager_ArcadeVP.cs
CatChow0 8ffb00a024 Minor - V0.3.0 - Ajoute frein classique et frein à main - V
Adds a traditional brake alongside the existing handbrake functionality.

This change allows for more controlled deceleration using a standard braking system and introduces a brake power parameter in the vehicle controller for further adjustment. The input manager is updated to accommodate a new brake input, and the vehicle controller uses this input to apply a progressive braking force, particularly at lower speeds.

Also corrects a typo in the braking logic.
2026-02-03 19:27:33 +01:00

48 lines
1.5 KiB
C#

using UnityEngine;
using UnityEngine.InputSystem;
namespace ArcadeVP
{
public class InputManager_ArcadeVP : MonoBehaviour
{
public ArcadeVehicleController arcadeVehicleController;
[HideInInspector] public float steering;
[HideInInspector] public float acceleration;
[HideInInspector] public float handbrake;
[HideInInspector] public float brake;
private PlayerInput _playerInput;
private InputAction _steerAction;
private InputAction _accelAction;
private InputAction _handbrakeAction;
private InputAction _brakeAction;
private void Awake()
{
_playerInput = GetComponent<PlayerInput>();
if (_playerInput == null)
{
Debug.LogError("PlayerInput component not found on the GameObject.");
return;
}
_steerAction = _playerInput.actions["Steer"];
_accelAction = _playerInput.actions["Accelerate"];
_handbrakeAction = _playerInput.actions["HandBrake"];
_brakeAction = _playerInput.actions["Brake"];
}
private void Update()
{
steering = _steerAction?.ReadValue<float>() ?? 0f;
acceleration = _accelAction?.ReadValue<float>() ?? 0f;
handbrake = _handbrakeAction?.ReadValue<float>() ?? 0f;
brake = _brakeAction?.ReadValue<float>() ?? 0f;
arcadeVehicleController.ProvideInputs(steering, acceleration, handbrake, brake);
}
}
}