com.alicizax.unity.framework/Runtime/UI/Other/UIAnimationFlowTransition.cs
陈思海 cd5de2c374 优化UIService模块
优化UI模块更多细节容错处理 优化UI模块内存泄露问题 优化性能
2026-04-23 20:19:46 +08:00

40 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
{
[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