//---------------------------------------------- // Realistic Car Controller // // Copyright © 2014 - 2023 BoneCracker Games // https://www.bonecrackergames.com // Buğra Özdoğanlar // //---------------------------------------------- using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Animations; using UnityEngine.InputSystem; using UnityEngine.UI; using UnityEngine.XR; public class RCC_FeedVehicleExample : MonoBehaviour { public RCC_CarControllerV3 targetVehicle; public bool takePlayerVehicle = true; public RCC_Inputs newInputs = new RCC_Inputs(); private bool overrideNow = false; public Slider throttle; public Slider brake; public Slider steering; public Slider handbrake; public Slider nos; private void Start() { EnableOverride(); } #region Machine control (Input System) public void OnThrottle(InputAction.CallbackContext ctx) // Forward/Reverse gear { float vec = ctx.ReadValue(); if (vec > 0) newInputs.throttleInput = 1; else { newInputs.throttleInput = 0; newInputs.brakeInput = -vec; } } public void SteerInput(InputAction.CallbackContext ctx) // Steering Control { var steer = ctx.ReadValue(); newInputs.steerInput = steer.x; } public void HandBrake(InputAction.CallbackContext ctx)// Hand brake { var hand = ctx.ReadValue(); if(hand > 0) newInputs.handbrakeInput = 1; else newInputs.handbrakeInput = 0; } public void NOS(InputAction.CallbackContext ctx)// Nitrogen { var NOS = ctx.ReadValue(); if (NOS > 0) newInputs.boostInput = 1; else newInputs.boostInput = 0; } #endregion private void Update() { //newInputs.throttleInput = throttle.value; //newInputs.brakeInput = brake.value; //newInputs.steerInput = steering.value; //newInputs.handbrakeInput = handbrake.value; //newInputs.boostInput = nos.value; // if (takePlayerVehicle) // targetVehicle = RCC_SceneManager.Instance.activePlayerVehicle; if (targetVehicle && overrideNow) targetVehicle.OverrideInputs(newInputs); } public void EnableOverride() { if (!targetVehicle) return; overrideNow = true; if (targetVehicle) targetVehicle.OverrideInputs(newInputs); } public void DisableOverride() { if (!targetVehicle) return; overrideNow = false; if (targetVehicle) targetVehicle.DisableOverrideInputs(); } }