internal static void SetEditorCurves(AnimationClip clip, EditorCurveBinding[] bindings, AnimationCurve[] curves) { if (clip == null) { throw new ArgumentNullException("clip"); } if (curves == null) { throw new ArgumentNullException("curves"); } if (bindings == null) { throw new ArgumentNullException("bindings"); } if (bindings.Length != curves.Length) { throw new ArgumentException("bindings and curves array sizes do not match"); } for (int i = 0; i < bindings.Length; i++) { AnimationUtility.Internal_SetEditorCurve(clip, bindings[i], curves[i], false); if (AnimationUtility.onCurveWasModified != null) { AnimationUtility.onCurveWasModified(clip, bindings[i], (curves[i] == null) ? AnimationUtility.CurveModifiedType.CurveDeleted : AnimationUtility.CurveModifiedType.CurveModified); } } AnimationUtility.Internal_SyncEditorCurves(clip); }