public void ResumeAnimationSynced(string animationName, bool useTimeOut = false)
    {
        Animation2D foundAnimation;

        animationsByName.TryGetValue(animationName, out foundAnimation);

        if (foundAnimation)
        {
            if (currentAnimation != foundAnimation)
            {
                int savedFrame = 0;
                if (currentAnimation)
                {
                    savedFrame = currentAnimation.GetPreviousFrame();
                    currentAnimation.Stop();
                    currentAnimation.Hide();
                }

                foundAnimation.SetCurrentFrame(savedFrame);
                foundAnimation.Show();
                foundAnimation.Play(false, false, useTimeOut);
            }
            currentAnimation = foundAnimation;
        }
    }