public void Clear() { while (m_QueuedAnimations.Count > 0) { IQueueableAnimation animation = m_QueuedAnimations.Dequeue(); (animation as QueueableAnimationSynchronizer)?.Dispose(); } }
public async Task Play() { while (m_QueuedAnimations.Count > 0) { IQueueableAnimation animation = m_QueuedAnimations.Dequeue(); await animation.Play(); (animation as QueueableAnimationSynchronizer)?.Dispose(); } }
public void Append(IQueueableAnimation animation) { m_Animations.Add(animation); }
public void QueueAnimation(AnimationChannelName channelName, IQueueableAnimation animation) { _channels[channelName].Enqueue(animation); }
public void Enqueue(IQueueableAnimation animation) { m_QueuedAnimations.Enqueue(animation); }