using System; using Cysharp.Threading.Tasks; // ReSharper disable UnassignedGetOnlyAutoProperty namespace BITKit.UX { /// /// 基本UX面板接口,定义了基本的UX面板功能 /// /// ⭐同步打开与关闭 /// ⭐异步打开与关闭 /// ⭐当前可见状态 /// ⭐基本UI导航回调 public interface IUXPanel:IEntryElement { /// /// 是否为窗口,用于覆盖其他面板 /// bool IsWindow { get; } /// /// 该面板的索引(入口,Key) /// string Index { get; } /// /// 该面板是否启用指针 /// bool AllowCursor { get; } /// /// 该面板是否启用玩家输入 /// bool AllowInput { get; } object Root { get; } /// /// 事件回调,当面板被打开时触发 /// event Action OnEntry; event Func OnEntryAsync; event Action OnEntryCompleted; /// /// 事件回调,当面板被关闭时触发 /// event Action OnExit; event Func OnExitAsync; event Action OnExitCompleted; public event Action OnInitiated; public event Func OnInitiatedAsync; void OnTick(float deltaTime); } }