diff --git a/Source/Editor/CustomEditors/Editors/Vector3Editor.cs b/Source/Editor/CustomEditors/Editors/Vector3Editor.cs
index 83d09b887..bca22b29c 100644
--- a/Source/Editor/CustomEditors/Editors/Vector3Editor.cs
+++ b/Source/Editor/CustomEditors/Editors/Vector3Editor.cs
@@ -48,9 +48,15 @@ namespace FlaxEditor.CustomEditors.Editors
/// If true, when one value is changed, the other 2 will change as well.
///
protected bool ChangeValuesTogether = false;
- private bool _xChanged;
- private bool _yChanged;
- private bool _zChanged;
+
+ private enum ValueChanged
+ {
+ X = 0,
+ Y = 1,
+ Z = 2
+ }
+
+ private ValueChanged _valueChanged;
///
public override void Initialize(LayoutElementsContainer layout)
@@ -90,11 +96,8 @@ namespace FlaxEditor.CustomEditors.Editors
if (IsSetBlocked)
return;
if (ChangeValuesTogether)
- {
- _xChanged = true;
- _yChanged = false;
- _zChanged = false;
- }
+ _valueChanged = ValueChanged.X;
+
OnValueChanged();
}
@@ -103,11 +106,8 @@ namespace FlaxEditor.CustomEditors.Editors
if (IsSetBlocked)
return;
if (ChangeValuesTogether)
- {
- _xChanged = false;
- _yChanged = true;
- _zChanged = false;
- }
+ _valueChanged = ValueChanged.Y;
+
OnValueChanged();
}
@@ -116,11 +116,8 @@ namespace FlaxEditor.CustomEditors.Editors
if (IsSetBlocked)
return;
if (ChangeValuesTogether)
- {
- _xChanged = false;
- _yChanged = false;
- _zChanged = true;
- }
+ _valueChanged = ValueChanged.Z;
+
OnValueChanged();
}
@@ -136,25 +133,25 @@ namespace FlaxEditor.CustomEditors.Editors
if (ChangeValuesTogether)
{
var adder = 0.0f;
- if (_xChanged)
+ switch (_valueChanged)
{
+ case ValueChanged.X:
adder = xValue - ((Float3)Values[0]).X;
yValue += adder;
zValue += adder;
- }
-
- if (_yChanged)
- {
+ break;
+ case ValueChanged.Y:
adder = yValue - ((Float3)Values[0]).Y;
xValue += adder;
zValue += adder;
- }
-
- if (_zChanged)
- {
+ break;
+ case ValueChanged.Z:
adder = zValue - ((Float3)Values[0]).Z;
xValue += adder;
yValue += adder;
+ break;
+ default:
+ break;
}
}
@@ -169,13 +166,6 @@ namespace FlaxEditor.CustomEditors.Editors
else if (v is Double3)
v = (Double3)value;
SetValue(v, token);
-
- if (ChangeValuesTogether)
- {
- _xChanged = false;
- _yChanged = false;
- _zChanged = false;
- }
}
///