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);
}
}