GFramework/GFramework.Game.Abstractions/UI/IUiTransitionHandler.cs
gewuyou ff553977e3 chore(license): 补齐 Apache-2.0 文件头治理
- 新增许可证文件头检查与修复脚本

- 补充维护者手动修复 PR 工作流和 CI 校验

- 更新贡献指南中的文件头说明

- 补齐仓库维护源码和配置文件的许可证声明
2026-05-03 19:39:49 +08:00

40 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
using GFramework.Game.Abstractions.Enums;
namespace GFramework.Game.Abstractions.UI;
/// <summary>
/// UI切换处理器接口定义UI切换扩展点的处理逻辑
/// </summary>
public interface IUiTransitionHandler
{
/// <summary>
/// 处理器优先级,数值越小越先执行
/// </summary>
int Priority { get; }
/// <summary>
/// 处理器适用的阶段,默认为所有阶段
/// 可以使用Flags枚举指定多个阶段
/// </summary>
UiTransitionPhases Phases { get; }
/// <summary>
/// 判断是否应该处理当前事件
/// 可以根据事件类型、UI key等信息进行条件过滤
/// </summary>
/// <param name="event">UI切换事件</param>
/// <param name="phases">当前阶段</param>
/// <returns>是否处理</returns>
bool ShouldHandle(UiTransitionEvent @event, UiTransitionPhases phases);
/// <summary>
/// 处理UI切换事件
/// </summary>
/// <param name="event">UI切换事件</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns>异步任务</returns>
Task HandleAsync(UiTransitionEvent @event, CancellationToken cancellationToken);
}