mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
A little bit better number formatting
This commit is contained in:
@@ -353,7 +353,7 @@ namespace GlitchyEditor.EditWindows
|
||||
}
|
||||
|
||||
ImGui.PropertyTableStartNewProperty("Rotation");
|
||||
if (ImGui.Float3Editor("##Rotation", ref rotationEuler, resetValues: .Zero, dragSpeed: 0.1f, componentEnabled: componentEditable, format: .("%.3g°",)))
|
||||
if (ImGui.Float3Editor("##Rotation", ref rotationEuler, resetValues: .Zero, dragSpeed: 0.1f, componentEnabled: componentEditable, format: .("0.#####°",)))
|
||||
{
|
||||
transform.EditorRotationEuler = MathHelper.ToRadians(rotationEuler);
|
||||
|
||||
|
||||
@@ -324,22 +324,32 @@ namespace ImGui
|
||||
|
||||
SameLine();
|
||||
|
||||
char8* format = "%.3g";
|
||||
StringView format = "0.#####";
|
||||
|
||||
if (!numberFormat[i].IsWhiteSpace)
|
||||
{
|
||||
// Look if we have a format for the specific index
|
||||
format = numberFormat[i].ToScopeCStr!:componentLoop();
|
||||
format = numberFormat[i];
|
||||
}
|
||||
else if (!numberFormat[0].IsWhiteSpace)
|
||||
{
|
||||
// Try to take the first number format
|
||||
format = numberFormat[0].ToScopeCStr!:componentLoop();
|
||||
format = numberFormat[0];
|
||||
}
|
||||
|
||||
if (!format.StartsWith("%"))
|
||||
{
|
||||
String str = scope:componentLoop .();
|
||||
|
||||
value[i].ToString(str, scope .(format), null);
|
||||
|
||||
format = str;
|
||||
}
|
||||
|
||||
PushItemWidth(dragFloatWidth);
|
||||
|
||||
if (DragFloat(componentIds[i], &value[i], dragSpeed, minValue[i], maxValue[i], format))
|
||||
if (DragFloat(componentIds[i], &value[i], dragSpeed, minValue[i], maxValue[i],
|
||||
format.ToScopeCStr!:componentLoop(), flags: .NoRoundToFormat))
|
||||
{
|
||||
changed = true;
|
||||
}
|
||||
|
||||
@@ -276,6 +276,27 @@ internal class EntityEditor
|
||||
|
||||
var value = (T)reference!;
|
||||
|
||||
if (format == null && value is float || value is double || value is Half)
|
||||
{
|
||||
format = "0.#####";
|
||||
}
|
||||
|
||||
if (!format.StartsWith("%"))
|
||||
{
|
||||
if (value is float f)
|
||||
{
|
||||
format = f.ToString(format);
|
||||
}
|
||||
else if (value is double d)
|
||||
{
|
||||
format = d.ToString(format);
|
||||
}
|
||||
else if (value is Half h)
|
||||
{
|
||||
format = h.ToString(format);
|
||||
}
|
||||
}
|
||||
|
||||
if (range?.Slider == true)
|
||||
{
|
||||
if (ImGui.SliderScalar(fieldId, dataType, (IntPtr)(&value), (IntPtr)(&min), (IntPtr)(&max), format))
|
||||
|
||||
Reference in New Issue
Block a user