From 1bd7210107069270c419a62ab8a4642540f9b367 Mon Sep 17 00:00:00 2001 From: Ruan Lucas <79365912+RuanLucasGD@users.noreply.github.com> Date: Fri, 21 Jul 2023 21:05:36 -0400 Subject: [PATCH] don't let aligned or free mode on first or end spline point --- .../CustomEditors/Dedicated/SplineEditor.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs b/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs index 56aaf5d7c..d83aa1acc 100644 --- a/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs @@ -318,9 +318,9 @@ namespace FlaxEditor.CustomEditors.Dedicated UpdateSelectedPoint(); UpdateSelectedTangent(); - _freeTangentButton.Button.Enabled = CanSetTangentMode(); + _freeTangentButton.Button.Enabled = CanSetTangentFree(); _linearTangentButton.Button.Enabled = CanSetTangentMode(); - _alignedTangentButton.Button.Enabled = CanSetTangentMode(); + _alignedTangentButton.Button.Enabled = CanSetTangentAligned(); _smoothInTangentButton.Button.Enabled = CanSetTangentSmoothIn(); _smoothOutTangentButton.Button.Enabled = CanSetTangentSmoothOut(); @@ -376,6 +376,18 @@ namespace FlaxEditor.CustomEditors.Dedicated return _lastPointSelected.Index < SelectedSpline.SplinePointsCount - 1; } + private bool CanSetTangentFree() + { + if (!CanSetTangentMode()) return false; + return _lastPointSelected.Index < SelectedSpline.SplinePointsCount - 1 && _lastPointSelected.Index != 0; + } + + private bool CanSetTangentAligned() + { + if (!CanSetTangentMode()) return false; + return _lastPointSelected.Index < SelectedSpline.SplinePointsCount - 1 && _lastPointSelected.Index != 0; + } + private void SetModeLinear() { _currentTangentMode = new LinearTangentMode();