41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
#if ALICIZAX_UI_ANIMATION_SUPPORT
|
|
using System.Threading;
|
|
using Cysharp.Threading.Tasks;
|
|
using UnityEngine;
|
|
|
|
namespace AlicizaX.UI.Runtime
|
|
{
|
|
[DisallowMultipleComponent]
|
|
public sealed class UIAnimationFlowTransition : AnimationFlow.Runtime.AnimationFlow, IUITransitionPlayer
|
|
{
|
|
public int Priority => 0;
|
|
|
|
[SerializeField] private string openClip = "Open";
|
|
[SerializeField] private string closeClip = "Close";
|
|
|
|
public UniTask PlayOpenAsync(CancellationToken cancellationToken = default)
|
|
{
|
|
return PlayAsync(openClip, cancellationToken);
|
|
}
|
|
|
|
public UniTask PlayCloseAsync(CancellationToken cancellationToken = default)
|
|
{
|
|
return PlayAsync(closeClip, cancellationToken);
|
|
}
|
|
|
|
|
|
private UniTask PlayAsync(string clipName, CancellationToken cancellationToken)
|
|
{
|
|
if (cancellationToken.IsCancellationRequested || string.IsNullOrWhiteSpace(clipName))
|
|
{
|
|
return UniTask.CompletedTask;
|
|
}
|
|
|
|
|
|
return PlayAsync(clipName);
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif
|