void OnComplete(UTween _tween) { _tween.OnComplete -= OnComplete; Callback?.Invoke(); Callback = null; }
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(); } }