using GFramework.Game.Abstractions.Enums;
using GFramework.Game.Abstractions.UI;
namespace GFramework.Game.UI.Handler;
///
/// UI切换处理器抽象基类,提供一些默认实现
///
public abstract class UiTransitionHandlerBase : IUiTransitionHandler
{
///
/// 处理器适用的阶段,默认为所有阶段
///
public virtual UiTransitionPhases Phases => UiTransitionPhases.All;
///
/// 优先级,需要在子类中实现
///
public abstract int Priority { get; }
///
/// 判断是否应该处理当前事件,默认返回true
///
public virtual bool ShouldHandle(UiTransitionEvent @event, UiTransitionPhases phases)
{
return true;
}
///
/// 处理UI切换事件,需要在子类中实现
///
public abstract Task HandleAsync(UiTransitionEvent @event, CancellationToken cancellationToken);
}