Example #1
0
    public float GetThrottle()
    {
        if (transmission.GetDrive() == Transmission.Drive.FORWARD && IsReversing())
        {
            return(0f);
        }

        if (transmission.GetDrive() == Transmission.Drive.REVERSE && !IsReversing())
        {
            return(0f);
        }

        return(Mathf.Abs(GetAccelerationInput()));
    }
    private string GetTransmissionText()
    {
        if (transmission.GetDrive() == Transmission.Drive.FORWARD)
        {
            return((transmission.GetCurrentGear() + 1).ToString());
        }

        if (transmission.GetDrive() == Transmission.Drive.NEUTRAL)
        {
            return("N");
        }

        if (transmission.GetDrive() == Transmission.Drive.REVERSE)
        {
            return("R");
        }

        return("");
    }
    private void Update()
    {
        float torque = GetTorque() * vehicleInput.GetThrottle();

        if (transmission.GetDrive() == Transmission.Drive.NEUTRAL)
        {
            UpdateRpmWithoutTransmission();
        }
        else
        {
            rpm = GetRpm();
        }

        transmission.ForwardTorque(torque);
        carAudio.PlayForRelativeRpm(GetRelativeRpm());
    }