类似: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;
}
}