private static int InsertAnimationEvent(ref AnimationEvent[] events, AnimationClip clip, AnimationEvent evt)
{
Undo.RegisterCompleteObjectUndo(clip, "Add Event");
int length = events.Length;
for (int i = 0; i < events.Length; i++)
{
if (events[i].time > evt.time)
{
length = i;
break;
}
}
ArrayUtility.Insert<AnimationEvent>(ref events, length, evt);
AnimationUtility.SetAnimationEvents(clip, events);
events = AnimationUtility.GetAnimationEvents(clip);
if ((events[length].time != evt.time) || (events[length].functionName != events[length].functionName))
{
Debug.LogError("Failed insertion");
}
return length;
}
}