From 1ec2df1a298ecf9981dbb2f0e7afe2d76aed07b7 Mon Sep 17 00:00:00 2001 From: Ruan Lucas <79365912+RuanLucasGD@users.noreply.github.com> Date: Wed, 19 Jul 2023 08:43:11 -0400 Subject: [PATCH] disable edit tangents buttons when don't have any tangent or point selected --- .../CustomEditors/Dedicated/SplineEditor.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs b/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs index 4dc0643d3..63f608eaa 100644 --- a/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/SplineEditor.cs @@ -226,6 +226,12 @@ namespace FlaxEditor.CustomEditors.Dedicated /// public Spline SelectedSpline => !Values.HasDifferentValues && Values[0] is Spline ? (Spline)Values[0] : null; + private bool HasTangentsSelected => _selectedTangentIn != null || _selectedTangentOut != null; + + private bool HasPointSelected => _lastPointSelected != null; + + private bool CanSetTangentMode => HasPointSelected || HasTangentsSelected; + /// /// Create a Spline editor /// @@ -273,6 +279,15 @@ namespace FlaxEditor.CustomEditors.Dedicated UpdateSelectedPoint(); UpdateSelectedTangent(); + _freeTangentButton.Button.Enabled = CanSetTangentMode; + _linearTangentButton.Button.Enabled = CanSetTangentMode; + _alignedTangentButton.Button.Enabled = CanSetTangentMode; + + if (_lastPointSelected == null) + { + return; + } + var index = _lastPointSelected.Index; var currentTangentInPosition = SelectedSpline.GetSplineLocalTangent(index, true).Translation; var currentTangentOutPosition = SelectedSpline.GetSplineLocalTangent(index, false).Translation; @@ -366,6 +381,8 @@ namespace FlaxEditor.CustomEditors.Dedicated _selectedTangentOut = null; } + + private void OnSetTangentsLinear() { var enableUndo = Presenter.Undo != null && Presenter.Undo.Enabled;