MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / InternalFormat

Method InternalFormat

Source/Editor/Utilities/Utils.cs:1018–1045  ·  view source on GitHub ↗
(double value, string format, FlaxEngine.Utils.ValueCategory category)

Source from the content-addressed store, hash-verified

1016 }
1017
1018 private static string InternalFormat(double value, string format, FlaxEngine.Utils.ValueCategory category)
1019 {
1020 switch (category)
1021 {
1022 case FlaxEngine.Utils.ValueCategory.Distance:
1023 if (!Units.AutomaticUnitsFormatting)
1024 return (value / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("m");
1025 var absValue = Mathf.Abs(value);
1026 // in case a unit != cm this would be (value / Meters2Units * 100)
1027 if (absValue < Units.Meters2Units)
1028 return value.ToString(format, CultureInfo.InvariantCulture) + Units.Unit("cm");
1029 if (absValue < Units.Meters2Units * 1000)
1030 return (value / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("m");
1031 return (value / 1000 / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("km");
1032 case FlaxEngine.Utils.ValueCategory.Angle: return value.ToString(format, CultureInfo.InvariantCulture) + "°";
1033 case FlaxEngine.Utils.ValueCategory.Time: return value.ToString(format, CultureInfo.InvariantCulture) + Units.Unit("s");
1034 // some fonts have a symbol for that: "\u33A7"
1035 case FlaxEngine.Utils.ValueCategory.Speed: return (value / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("m/s");
1036 case FlaxEngine.Utils.ValueCategory.Acceleration: return (value / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("m/s²");
1037 case FlaxEngine.Utils.ValueCategory.Area: return (value / Units.Meters2Units / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("m²");
1038 case FlaxEngine.Utils.ValueCategory.Volume: return (value / Units.Meters2Units / Units.Meters2Units / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("m³");
1039 case FlaxEngine.Utils.ValueCategory.Mass: return value.ToString(format, CultureInfo.InvariantCulture) + Units.Unit("kg");
1040 case FlaxEngine.Utils.ValueCategory.Force: return (value / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("N");
1041 case FlaxEngine.Utils.ValueCategory.Torque: return (value / Units.Meters2Units / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + Units.Unit("Nm");
1042 case FlaxEngine.Utils.ValueCategory.None:
1043 default: return FormatFloat(value);
1044 }
1045 }
1046
1047 /// <summary>
1048 /// Format a float value either as-is, with a distance unit or with a degree sign.

Callers

nothing calls this directly

Calls 3

UnitMethod · 0.80
ToStringMethod · 0.45
AbsMethod · 0.45

Tested by

no test coverage detected