private static bool CreateAnimation(GameObject gameObject, UnityEngine.Object[] frames)
{
Array.Sort <UnityEngine.Object>(frames, (UnityEngine.Object a, UnityEngine.Object b) => EditorUtility.NaturalCompare(a.name, b.name));
bool result;
if (!AnimationWindowUtility.EnsureActiveAnimationPlayer(gameObject))
{
result = false;
}
else
{
Animator closestAnimatorInParents = AnimationWindowUtility.GetClosestAnimatorInParents(gameObject.transform);
if (closestAnimatorInParents == null)
{
result = false;
}
else
{
AnimationClip animationClip = AnimationWindowUtility.CreateNewClip(gameObject.name);
if (animationClip == null)
{
result = false;
}
else
{
SpriteUtility.AddSpriteAnimationToClip(animationClip, frames);
result = AnimationWindowUtility.AddClipToAnimatorComponent(closestAnimatorInParents, animationClip);
}
}
}
return(result);
}