Fix zero scale value changing when scales are linked. #1117

This commit is contained in:
Chandler Cox
2023-05-25 08:24:49 -05:00
parent 90d633fb2d
commit a45f067719

View File

@@ -134,18 +134,18 @@ namespace FlaxEditor.CustomEditors.Editors
{
case ValueChanged.X:
valueChange = xValue - ((Float3)Values[0]).X;
yValue += valueChange;
zValue += valueChange;
yValue = NewLinkedValue(yValue, valueChange);
zValue = NewLinkedValue(zValue, valueChange);
break;
case ValueChanged.Y:
valueChange = yValue - ((Float3)Values[0]).Y;
xValue += valueChange;
zValue += valueChange;
xValue = NewLinkedValue(xValue, valueChange);
zValue = NewLinkedValue(zValue, valueChange);
break;
case ValueChanged.Z:
valueChange = zValue - ((Float3)Values[0]).Z;
xValue += valueChange;
yValue += valueChange;
xValue = NewLinkedValue(xValue, valueChange);
yValue = NewLinkedValue(yValue, valueChange);
break;
default: break;
}
@@ -164,6 +164,11 @@ namespace FlaxEditor.CustomEditors.Editors
SetValue(v, token);
}
private float NewLinkedValue(float value, float valueChange)
{
return Mathf.NearEqual(value, 0) ? value : value + valueChange;
}
/// <inheritdoc />
public override void Refresh()
{