Пример #1
0
        void OnComplete(UTween _tween)
        {
            _tween.OnComplete -= OnComplete;

            Callback?.Invoke();
            Callback = null;
        }
Пример #2
0
        public override void Play(Action _finished)
        {
            Callback = _finished;
            var    f    = GetFilter();
            var    list = this.gameObject.GetComponentsInChildren <UTween>();
            UTween last = null;

            foreach (var v in list)
            {
                if (f(v.Counter) == false)
                {
                    continue;
                }

                if (Forward)
                {
                    v.PlayForward();
                }
                else
                {
                    v.PlayReverse();
                }

                if (null == last)
                {
                    last = v;
                }
                else if (v.LastTime > last.LastTime)
                {
                    last = v;
                }
            }

            if (last != null)
            {
                last.OnComplete += OnComplete;
            }
            else
            {
                Callback?.Invoke();
            }
        }