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");
|
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);
|
transform.EditorRotationEuler = MathHelper.ToRadians(rotationEuler);
|
||||||
|
|
||||||
|
|||||||
@@ -324,22 +324,32 @@ namespace ImGui
|
|||||||
|
|
||||||
SameLine();
|
SameLine();
|
||||||
|
|
||||||
char8* format = "%.3g";
|
StringView format = "0.#####";
|
||||||
|
|
||||||
if (!numberFormat[i].IsWhiteSpace)
|
if (!numberFormat[i].IsWhiteSpace)
|
||||||
{
|
{
|
||||||
// Look if we have a format for the specific index
|
// Look if we have a format for the specific index
|
||||||
format = numberFormat[i].ToScopeCStr!:componentLoop();
|
format = numberFormat[i];
|
||||||
}
|
}
|
||||||
else if (!numberFormat[0].IsWhiteSpace)
|
else if (!numberFormat[0].IsWhiteSpace)
|
||||||
{
|
{
|
||||||
// Try to take the first number format
|
// 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);
|
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;
|
changed = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -276,6 +276,27 @@ internal class EntityEditor
|
|||||||
|
|
||||||
var value = (T)reference!;
|
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 (range?.Slider == true)
|
||||||
{
|
{
|
||||||
if (ImGui.SliderScalar(fieldId, dataType, (IntPtr)(&value), (IntPtr)(&min), (IntPtr)(&max), format))
|
if (ImGui.SliderScalar(fieldId, dataType, (IntPtr)(&value), (IntPtr)(&min), (IntPtr)(&max), format))
|
||||||
|
|||||||
Reference in New Issue
Block a user