UnityEditor.CurveMenuManager.SetBoth C# (CSharp) Method

SetBoth() public method

public SetBoth ( AnimationUtility mode, List keysToSet ) : void
mode AnimationUtility
keysToSet List
return void
        public void SetBoth(AnimationUtility.TangentMode mode, List<KeyIdentifier> keysToSet)
        {
            List<ChangedCurve> list = new List<ChangedCurve>();
            foreach (KeyIdentifier identifier in keysToSet)
            {
                AnimationCurve curve = identifier.curve;
                Keyframe key = identifier.keyframe;
                AnimationUtility.SetKeyBroken(ref key, false);
                AnimationUtility.SetKeyRightTangentMode(ref key, mode);
                AnimationUtility.SetKeyLeftTangentMode(ref key, mode);
                if (mode == AnimationUtility.TangentMode.Free)
                {
                    float num = CurveUtility.CalculateSmoothTangent(key);
                    key.inTangent = num;
                    key.outTangent = num;
                }
                curve.MoveKey(identifier.key, key);
                AnimationUtility.UpdateTangentsFromModeSurrounding(curve, identifier.key);
                ChangedCurve item = new ChangedCurve(curve, identifier.curveId, identifier.binding);
                if (!list.Contains(item))
                {
                    list.Add(item);
                }
            }
            this.updater.UpdateCurves(list, "Set Tangents");
        }