public void SetBroken(object _keysToSet)
{
List<ChangedCurve> list = new List<ChangedCurve>();
List<KeyIdentifier> list2 = (List<KeyIdentifier>) _keysToSet;
foreach (KeyIdentifier identifier in list2)
{
AnimationCurve curve = identifier.curve;
Keyframe key = identifier.keyframe;
AnimationUtility.SetKeyBroken(ref key, true);
if ((AnimationUtility.GetKeyRightTangentMode(key) == AnimationUtility.TangentMode.ClampedAuto) || (AnimationUtility.GetKeyRightTangentMode(key) == AnimationUtility.TangentMode.Auto))
{
AnimationUtility.SetKeyRightTangentMode(ref key, AnimationUtility.TangentMode.Free);
}
if ((AnimationUtility.GetKeyLeftTangentMode(key) == AnimationUtility.TangentMode.ClampedAuto) || (AnimationUtility.GetKeyLeftTangentMode(key) == AnimationUtility.TangentMode.Auto))
{
AnimationUtility.SetKeyLeftTangentMode(ref key, AnimationUtility.TangentMode.Free);
}
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");
}