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);
}