// ╔════════════════════════════════════════════════════════════════╗
// ║ Copyright © 2025 NWH Coding d.o.o. All rights reserved. ║
// ║ Licensed under Unity Asset Store Terms of Service: ║
// ║ https://unity.com/legal/as-terms ║
// ║ Use permitted only in compliance with the License. ║
// ║ Distributed "AS IS", without warranty of any kind. ║
// ╚════════════════════════════════════════════════════════════════╝
#region
using UnityEngine;
#endregion
namespace NWH.Common.Utility
{
///
/// Static utility class for converting between various units of measurement.
/// Includes conversions for distance, speed, fuel efficiency, and angular velocity.
///
public static class UnitConverter
{
///
/// Converts inches to meters.
///
/// Value in inches.
/// Value in meters.
public static float Inch_To_Meter(float inch)
{
return inch * 0.0254f;
}
///
/// Converts meters to inches.
///
/// Value in meters.
/// Value in inches.
public static float Meter_To_Inch(float meters)
{
return meters * 39.3701f;
}
///
/// km/l to l/100km
///
/// Fuel efficiency in km/l.
/// Fuel efficiency in l/100km.
public static float KmlToL100km(float kml)
{
return kml == 0 ? Mathf.Infinity : 100f / kml;
}
///
/// km/l to mpg
///
/// Fuel efficiency in km/l.
/// Fuel efficiency in mpg.
public static float KmlToMpg(float kml)
{
return kml * 2.825f;
}
///
/// l/100km to km/l
///
/// Fuel efficiency in l/100km.
/// Fuel efficiency in km/l.
public static float L100kmToKml(float l100km)
{
return l100km == 0 ? 0 : 100f / l100km;
}
///
/// l/100km to mpg
///
/// Fuel efficiency in l/100km.
/// Fuel efficiency in mpg.
public static float L100kmToMpg(float l100km)
{
return l100km == 0 ? 0 : 282.5f / l100km;
}
///
/// Converts angular velocity (rad/s) to rotations per minute.
///
/// Angular velocity in rad/s.
/// Rotations per minute (RPM).
public static float AngularVelocityToRPM(float angularVelocity)
{
return angularVelocity * 9.5492965855137f;
}
///
/// Converts rotations per minute to angular velocity (rad/s).
///
/// Rotations per minute.
/// Angular velocity in rad/s.
public static float RPMToAngularVelocity(float RPM)
{
return RPM * 0.10471975511966f;
}
///
/// mpg to km/l
///
/// Fuel efficiency in mpg.
/// Fuel efficiency in km/l.
public static float MpgToKml(float mpg)
{
return mpg * 0.354f;
}
///
/// mpg to l/100km
///
/// Fuel efficiency in mpg.
/// Fuel efficiency in l/100km.
public static float MpgToL100km(float mpg)
{
return mpg == 0 ? Mathf.Infinity : 282.5f / mpg;
}
///
/// miles/h to km/h
///
/// Speed in mph.
/// Speed in km/h.
public static float MphToKph(float value)
{
return value * 1.60934f;
}
///
/// m/s to km/h
///
/// Speed in m/s.
/// Speed in km/h.
public static float MpsToKph(float value)
{
return value * 3.6f;
}
///
/// m/s to miles/h
///
/// Speed in m/s.
/// Speed in mph.
public static float MpsToMph(float value)
{
return value * 2.23694f;
}
///
/// Converts km/h to mph.
///
/// Speed in km/h.
/// Speed in mph.
public static float Speed_kmhToMph(float kmh)
{
return kmh * 0.621371f;
}
///
/// Converts km/h to m/s.
///
/// Speed in km/h.
/// Speed in m/s.
public static float Speed_kmhToMs(float kmh)
{
return kmh * 0.277778f;
}
///
/// Converts mph to km/h.
///
/// Speed in mph.
/// Speed in km/h.
public static float Speed_mphToKmh(float mph)
{
return mph * 1.60934f;
}
///
/// Converts mph to m/s.
///
/// Speed in mph.
/// Speed in m/s.
public static float Speed_mphToMs(float mph)
{
return mph * 0.44704f;
}
///
/// Converts m/s to km/h.
///
/// Speed in m/s.
/// Speed in km/h.
public static float Speed_msToKph(float ms)
{
return ms * 3.6f;
}
///
/// Converts m/s to mph.
///
/// Speed in m/s.
/// Speed in mph.
public static float Speed_msToMph(float ms)
{
return ms * 2.23694f;
}
}
}