UnityEditor.AnimationUtility.SetKeyBroken C# (CSharp) Method

SetKeyBroken() public static method

Change the specified keyframe broken tangent flag.

public static SetKeyBroken ( AnimationCurve curve, int index, bool broken ) : void
curve AnimationCurve The curve to modify.
index int Keyframe index.
broken bool Broken flag.
return void
        public static void SetKeyBroken(AnimationCurve curve, int index, bool broken)
        {
            if (curve == null)
            {
                throw new ArgumentNullException("curve");
            }
            if ((index < 0) || (index >= curve.length))
            {
                throw new ArgumentException("Index out of bounds.");
            }
            Keyframe key = curve[index];
            SetKeyBroken(ref key, broken);
            curve.MoveKey(index, key);
            UpdateTangentsFromModeSurrounding(curve, index);
        }

Same methods

AnimationUtility::SetKeyBroken ( Keyframe &key, bool broken ) : void

Usage Example

        public void SetBoth(AnimationUtility.TangentMode mode, List <KeyIdentifier> keysToSet)
        {
            List <ChangedCurve> list = new List <ChangedCurve>();

            foreach (KeyIdentifier current in keysToSet)
            {
                AnimationCurve curve    = current.curve;
                Keyframe       keyframe = current.keyframe;
                AnimationUtility.SetKeyBroken(ref keyframe, false);
                AnimationUtility.SetKeyRightTangentMode(ref keyframe, mode);
                AnimationUtility.SetKeyLeftTangentMode(ref keyframe, mode);
                if (mode == AnimationUtility.TangentMode.Free)
                {
                    float num = CurveUtility.CalculateSmoothTangent(keyframe);
                    keyframe.inTangent  = num;
                    keyframe.outTangent = num;
                }
                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::SetKeyBroken
AnimationUtility