diff --git a/Source/Editor/Options/InterfaceOptions.cs b/Source/Editor/Options/InterfaceOptions.cs index 95a273f19..482946e9a 100644 --- a/Source/Editor/Options/InterfaceOptions.cs +++ b/Source/Editor/Options/InterfaceOptions.cs @@ -2,6 +2,7 @@ using System.ComponentModel; using FlaxEditor.GUI.Docking; +using FlaxEditor.Utilities; using FlaxEngine; namespace FlaxEditor.Options @@ -90,6 +91,25 @@ namespace FlaxEditor.Options PlayScenes, } + /// + /// Options for formatting numerical values + /// + public enum ValueFormattingType + { + /// + /// No formatting + /// + None, + /// + /// Format using the base SI unit + /// + BaseUnit, + /// + /// Format using a unit that matches the value best + /// + AutoUnit + } + /// /// Gets or sets the Editor User Interface scale. Applied to all UI elements, windows and text. Can be used to scale the interface up on a bigger display. Editor restart required. /// @@ -148,6 +168,23 @@ namespace FlaxEditor.Options [EditorDisplay("Interface"), EditorOrder(280), Tooltip("Editor content window orientation.")] public FlaxEngine.GUI.Orientation ContentWindowOrientation { get; set; } = FlaxEngine.GUI.Orientation.Horizontal; + private ValueFormattingType _valueFormatting = ValueFormattingType.None; + + /// + /// Gets or sets the formatting option for numeric values in the editor. + /// + [DefaultValue(ValueFormattingType.None)] + [EditorDisplay("Interface"), EditorOrder(300), Tooltip("Formatting of numeric values.")] + public ValueFormattingType ValueFormating { + get => _valueFormatting; + set + { + _valueFormatting = value; + Units.UseUnitsFormatting = _valueFormatting != ValueFormattingType.None; + Units.AutomaticUnitsFormatting = _valueFormatting == ValueFormattingType.AutoUnit; + } + } + /// /// Gets or sets the timestamps prefix mode for output log messages. ///