FGUI 动画序列控制

类似:Dotween.Sequence

根据自己需要写,由于我只用到这么多,所以就只有如下代码!

  public class FGUITweenSequence
    {
        private List<GTweener> _tweeners = new List<GTweener>();
        private int _tweenerCompleteCounter = 0;
        private Action _handleAllTweenComplete;

        private FGUITweenSequence()
        {
        }


        public static FGUITweenSequence CreateInstance()
        {
            return new FGUITweenSequence();
        }

        public void AppendTween(GTweener tweener)
        {
            _tweeners.Add(tweener);
            tweener.OnComplete(CounterUp);
        }

        public void CounterUp()
        {
            _tweenerCompleteCounter++;
            if (_tweenerCompleteCounter >= _tweeners.Count)
            {
                _handleAllTweenComplete?.Invoke();
                _tweeners.Clear();
            }
        }

        public void OnAllTweenComplete(Action onComplete)
        {
            if (_tweeners.Count == 0)
            {
                onComplete?.Invoke();
            }
            else
            {
                _handleAllTweenComplete = onComplete;
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_34191439/article/details/100144708