diff --git a/Source/Editor/Utilities/ShuntingYardParser.cs b/Source/Editor/Utilities/ShuntingYardParser.cs index ca3780e8f..356fec2b5 100644 --- a/Source/Editor/Utilities/ShuntingYardParser.cs +++ b/Source/Editor/Utilities/ShuntingYardParser.cs @@ -144,13 +144,16 @@ namespace FlaxEditor.Utilities /// List known units which cannot be handled as a variable easily because they contain operator /// symbols (mostly a forward slash). The value is the factor to calculate game units. /// + // Nm is here because these values are compared case-sensitive and we don't want to confuse + // nanometers and Newtonmeters private static readonly IDictionary UnitSymbols = new Dictionary { ["cm/s"] = Units.Meters2Units / 100, ["cm/s²"] = Units.Meters2Units / 100, ["m/s"] = Units.Meters2Units, ["m/s²"] = Units.Meters2Units, - ["km/h"] = 1/3.6 * Units.Meters2Units + ["km/h"] = 1/3.6 * Units.Meters2Units, + ["Nm"] = Units.Meters2Units * Units.Meters2Units }; /// diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs index 531f2b50b..a0422bf7d 100644 --- a/Source/Editor/Utilities/Utils.cs +++ b/Source/Editor/Utilities/Utils.cs @@ -1203,6 +1203,7 @@ namespace FlaxEditor.Utilities case FlaxEngine.Utils.ValueCategory.Volume: return (value / Units.Meters2Units / Units.Meters2Units / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + "m³"; case FlaxEngine.Utils.ValueCategory.Mass: return value.ToString(format, CultureInfo.InvariantCulture) + "kg"; case FlaxEngine.Utils.ValueCategory.Force: return (value / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + "N"; + case FlaxEngine.Utils.ValueCategory.Torque: return (value / Units.Meters2Units / Units.Meters2Units).ToString(format, CultureInfo.InvariantCulture) + "Nm"; case FlaxEngine.Utils.ValueCategory.None: default: return FormatFloat(value); diff --git a/Source/Engine/Physics/Actors/RigidBody.h b/Source/Engine/Physics/Actors/RigidBody.h index 2ef50ca7a..c7fb20038 100644 --- a/Source/Engine/Physics/Actors/RigidBody.h +++ b/Source/Engine/Physics/Actors/RigidBody.h @@ -181,7 +181,7 @@ public: /// /// Gets the mass value measured in kilograms (use override value only if OverrideMass is checked). /// - API_PROPERTY(Attributes="EditorOrder(110), Limit(0), EditorDisplay(\"Rigid Body\")") + API_PROPERTY(Attributes="EditorOrder(110), Limit(0), EditorDisplay(\"Rigid Body\"), NumberCategory(Utils.ValueCategory.Mass)") float GetMass() const; /// diff --git a/Source/Engine/Utilities/Utils.cs b/Source/Engine/Utilities/Utils.cs index 9ae42fa43..e4b7c544b 100644 --- a/Source/Engine/Utilities/Utils.cs +++ b/Source/Engine/Utilities/Utils.cs @@ -1053,7 +1053,8 @@ namespace FlaxEngine Speed, Acceleration, Time, - Force + Force, + Torque } } }