import struct MeasurementUtils
{
	public import static function ValueUnitToUnit( inValue : Float, inUnit : EMeasurementUnit, outUnit : EMeasurementUnit ) : Float;
	public import static function ValueToMetric( inValue : Float, inUnit : EMeasurementUnit, out outUnit : EMeasurementUnit ) : Float;

	public static function ValueToMetric( inValue : Float, inUnit : EMeasurementUnit ) : Float
	{
		var dummyOut : EMeasurementUnit;
		return ValueToMetric( inValue, inUnit, dummyOut );
	}

	public import static function ValueToImperial( inValue : Float, inUnit : EMeasurementUnit, out outUnit : EMeasurementUnit ) : Float;

	public static function ValueToImperial( inValue : Float, inUnit : EMeasurementUnit ) : Float
	{
		var dummyOut : EMeasurementUnit;
		return ValueToImperial( inValue, inUnit, dummyOut );
	}

	public import static function ValueToSystem( inValue : Float, inUnit : EMeasurementUnit, outUnitSystem : EMeasurementSystem, out outUnit : EMeasurementUnit ) : Float;

	public static function ValueToSystem( inValue : Float, inUnit : EMeasurementUnit, outUnitSystem : EMeasurementSystem ) : Float
	{
		var dummyOut : EMeasurementUnit;
		return ValueToSystem( inValue, inUnit, outUnitSystem, dummyOut );
	}

	public import static function ValueToPlayerSettingSystem( inValue : Float, inUnit : EMeasurementUnit, out outUnit : EMeasurementUnit ) : Float;

	public static function ValueToPlayerSettingSystem( inValue : Float, inUnit : EMeasurementUnit ) : Float
	{
		var dummyOut : EMeasurementUnit;
		return ValueToPlayerSettingSystem( inValue, inUnit, dummyOut );
	}

	public import static function GetPlayerSettingSystem() : EMeasurementSystem;
	public import static function UnitToMetric( inUnit : EMeasurementUnit ) : EMeasurementUnit;
	public import static function UnitToImperial( inUnit : EMeasurementUnit ) : EMeasurementUnit;
	public import static function UnitToSystem( inUnit : EMeasurementUnit, outSystem : EMeasurementSystem ) : EMeasurementUnit;
	public import static function GetSystemForUnit( inUnit : EMeasurementUnit ) : EMeasurementSystem;
	public import static function GetUnitLocalizationKey( inUnit : EMeasurementUnit ) : CName;
}

import enum EMeasurementSystem
{
	Metric,
	Imperial,
}

import enum EMeasurementUnit
{
	Millimeter,
	Centimeter,
	Meter,
	Kilometer,
	Inch,
	Feet,
	Yard,
	Mile,
	NauticalMile,
	SquareMillimeter,
	SquareCentimeter,
	SquareMeter,
	Hectare,
	SquareKilometer,
	SquareInch,
	SquareFeet,
	SquareYard,
	Acre,
	SquareMile,
	CubicCentimer,
	CubicDecimeter,
	CubicMeter,
	Liter,
	Hectoliter,
	CubicInch,
	CubicFeet,
	FluidOunce,
	Pint,
	Gallon,
	Gram,
	Kilogram,
	Tonne,
	Ounce,
	Pound,
	Stone,
	Celcius,
	Fahrenheit,
	MAX,
}

