private UndoPropertyModification[] PostProcess(UndoPropertyModification[] modifications) { if (PropertyTimeline && PropertyTimeline.Sequence && PropertyTimeline.Sequence.IsPlaying) { return(modifications); } if (!AnimationHelper.IsInAnimationMode) { return(modifications); } if (!USPreferenceWindow.AutoKeyframing) { return(modifications); } if (USWindow.IsScrubbing) { return(modifications); } try { var propertyModifications = ExtractRecordableModifications(modifications); foreach (var modifiedProperty in propertyModifications) { var modifiedCurves = modifiedProperty.GetModifiedCurvesAtTime(PropertyTimeline.Sequence.RunningTime); foreach (var modifiedCurve in modifiedCurves) { CurveEditor.AddKeyframeAtTime(modifiedCurve); } } } catch (Exception e) { Debug.Log(e); } return(modifications); }