public float GetCurrentSpeedRestrictions() { if (!AnyLaneSelected) { return(-1f); } return(RoadManager.GetLaneSpeed(m_selectedLaneMarkers[0].m_lane)); }
public static float RestrictSpeed(float calculatedSpeed, uint laneId, VehicleInfo info) { if (calculatedSpeed == 0f || (CSLTraffic.Options & OptionsManager.ModOptions.BetaTestRoadCustomizerTool) == OptionsManager.ModOptions.None) { return(calculatedSpeed); } float speedLimit = RoadManager.GetLaneSpeed(laneId); float curve = NetManager.instance.m_lanes.m_buffer[laneId].m_curve; float a = 1000f / (1f + curve * 1000f / info.m_turning) + 2f; float b = 8f * speedLimit; return(Mathf.Min(Mathf.Min(a, b), info.m_maxSpeed)); }