예제 #1
0
        /// <inheritdoc />
        public void Undo()
        {
            var spline = FlaxEngine.Object.Find <Spline>(ref _splineId);

            if (spline == null)
            {
                return;
            }
            spline.SplineKeyframes = _before;
            SplineNode.OnSplineEdited(spline);
        }
예제 #2
0
        private void OnSetTangentsSmooth()
        {
            var enableUndo = Presenter.Undo != null && Presenter.Undo.Enabled;

            for (int i = 0; i < Values.Count; i++)
            {
                if (Values[i] is Spline spline)
                {
                    var before = enableUndo ? (BezierCurve <Transform> .Keyframe[])spline.SplineKeyframes.Clone() : null;
                    spline.SetTangentsSmooth();
                    if (enableUndo)
                    {
                        Presenter.Undo.AddAction(new EditSplineAction(spline, before));
                    }
                    SplineNode.OnSplineEdited(spline);
                    Editor.Instance.Scene.MarkSceneEdited(spline.Scene);
                }
            }
        }