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