UnityEditor.AnimationUtility.SetKeyRightTangentMode C# (CSharp) Method

SetKeyRightTangentMode() public static method

public static SetKeyRightTangentMode ( AnimationCurve curve, int index, TangentMode tangentMode ) : void
curve AnimationCurve
index int
tangentMode TangentMode
return void
        public static void SetKeyRightTangentMode(AnimationCurve curve, int index, TangentMode tangentMode)
        {
            if (curve == null)
            {
                throw new ArgumentNullException("curve");
            }
            if ((index < 0) || (index >= curve.length))
            {
                throw new ArgumentException("Index out of bounds.");
            }
            Keyframe key = curve[index];
            if (tangentMode != TangentMode.Free)
            {
                SetKeyBroken(ref key, true);
            }
            SetKeyRightTangentMode(ref key, tangentMode);
            curve.MoveKey(index, key);
            UpdateTangentsFromModeSurrounding(curve, index);
        }

Same methods

AnimationUtility::SetKeyRightTangentMode ( Keyframe &key, TangentMode tangentMode ) : void

Usage Example

        public void SetBroken(object _keysToSet)
        {
            List <ChangedCurve>  list  = new List <ChangedCurve>();
            List <KeyIdentifier> list2 = (List <KeyIdentifier>)_keysToSet;

            foreach (KeyIdentifier current in list2)
            {
                AnimationCurve curve    = current.curve;
                Keyframe       keyframe = current.keyframe;
                AnimationUtility.SetKeyBroken(ref keyframe, true);
                if (AnimationUtility.GetKeyRightTangentMode(keyframe) == AnimationUtility.TangentMode.ClampedAuto || AnimationUtility.GetKeyRightTangentMode(keyframe) == AnimationUtility.TangentMode.Auto)
                {
                    AnimationUtility.SetKeyRightTangentMode(ref keyframe, AnimationUtility.TangentMode.Free);
                }
                if (AnimationUtility.GetKeyLeftTangentMode(keyframe) == AnimationUtility.TangentMode.ClampedAuto || AnimationUtility.GetKeyLeftTangentMode(keyframe) == AnimationUtility.TangentMode.Auto)
                {
                    AnimationUtility.SetKeyLeftTangentMode(ref keyframe, AnimationUtility.TangentMode.Free);
                }
                curve.MoveKey(current.key, keyframe);
                AnimationUtility.UpdateTangentsFromModeSurrounding(curve, current.key);
                ChangedCurve item = new ChangedCurve(curve, current.curveId, current.binding);
                if (!list.Contains(item))
                {
                    list.Add(item);
                }
            }
            this.updater.UpdateCurves(list, "Set Tangents");
        }
All Usage Examples Of UnityEditor.AnimationUtility::SetKeyRightTangentMode
AnimationUtility