diff --git a/Source/Editor/Gizmo/TransformGizmoBase.cs b/Source/Editor/Gizmo/TransformGizmoBase.cs index 86135b338..13ebece7c 100644 --- a/Source/Editor/Gizmo/TransformGizmoBase.cs +++ b/Source/Editor/Gizmo/TransformGizmoBase.cs @@ -289,17 +289,17 @@ namespace FlaxEditor.Gizmo { float snapValue = isScaling ? ScaleSnapValue : TranslationSnapValue; _translationScaleSnapDelta += delta; - if (!isScaling && snapValue < 0) + if (!isScaling && snapValue < 0.0f) { //PE: Snap to object bounding box GetSelectedObjectsBounds(out var b, out _); float X, Y, Z; - if (b.Minimum.X < 0) X = Math.Abs(b.Minimum.X) + b.Maximum.X; - else X = b.Minimum.X - b.Maximum.X; - if (b.Minimum.Y < 0) Y = Math.Abs(b.Minimum.Y) + b.Maximum.Y; - else Y = b.Minimum.Y - b.Maximum.Y; - if (b.Minimum.Z < 0) Z = Math.Abs(b.Minimum.Z) + b.Maximum.Z; - else Z = b.Minimum.Z - b.Maximum.Z; + if (b.Minimum.X < 0.0f) X = (float) Math.Abs(b.Minimum.X) + b.Maximum.X; + else X = (float) b.Minimum.X - b.Maximum.X; + if (b.Minimum.Y < 0.0f) Y = (float) Math.Abs(b.Minimum.Y) + b.Maximum.Y; + else Y = (float) b.Minimum.Y - b.Maximum.Y; + if (b.Minimum.Z < 0.0f) Z = (float) Math.Abs(b.Minimum.Z) + b.Maximum.Z; + else Z = (float) b.Minimum.Z - b.Maximum.Z; delta = new Vector3( (int)(_translationScaleSnapDelta.X / X) * X, (int)(_translationScaleSnapDelta.Y / Y) * Y,