public void Stop(int stopOnIndex)
 {
     if (_currentAnimation != null)
     {
         _frame = stopOnIndex;
         UpdateWithFrameData();
         _currentAnimation = null;
     }
 }
        public void Play(string name, SpriteFrameAnimationResetOption resetOption)
        {
            SpriteFrameAnimation newAnimation = null;

            foreach (var anim in _animations)
            {
                if (anim.name == name)
                {
                    newAnimation = anim;
                    break;
                }
            }

            if (newAnimation == null)
            {
                _currentAnimation = null;
                return;
            }

            switch (resetOption)
            {
            case SpriteFrameAnimationResetOption.ResetIfNew: {
                if (newAnimation != _currentAnimation)
                {
                    _frame = 0;
                    _timer = 0;
                }
                break;
            }

            case SpriteFrameAnimationResetOption.ResetAlways: {
                _frame = 0;
                _timer = 0;
                break;
            }

            default: {
                break;
            }
            }

            _currentAnimation = newAnimation;
            if (_currentAnimation != null)
            {
                UpdateWithFrameData();
            }
        }
 public void Stop()
 {
     _currentAnimation = null;
 }