BITKit/Src/Core/UX/IUXPanel.cs

49 lines
1.2 KiB
C#
Raw Normal View History

2023-09-01 14:35:05 +08:00
using System;
2023-11-15 23:55:06 +08:00
using Cysharp.Threading.Tasks;
2023-10-06 23:43:19 +08:00
// ReSharper disable UnassignedGetOnlyAutoProperty
2023-09-01 14:35:05 +08:00
2023-08-23 01:59:26 +08:00
namespace BITKit.UX
{
/// <summary>
/// 基本UX面板接口,定义了基本的UX面板功能
/// </summary>
/// <para>⭐同步打开与关闭</para>
/// <para>⭐异步打开与关闭</para>
/// <para>⭐当前可见状态</para>
/// <para>⭐基本UI导航回调</para>
2024-08-13 18:42:51 +08:00
public interface IUXPanel:IEntryElement
2023-08-23 01:59:26 +08:00
{
2024-07-07 14:27:34 +08:00
/// <summary>
/// 是否为窗口,用于覆盖其他面板
/// </summary>
bool IsWindow { get; }
2023-08-23 01:59:26 +08:00
/// <summary>
/// 该面板的索引(入口,Key)
/// </summary>
string Index { get; }
/// <summary>
/// 该面板是否启用指针
/// </summary>
bool AllowCursor { get; }
/// <summary>
/// 该面板是否启用玩家输入
/// </summary>
bool AllowInput { get; }
2023-09-01 14:35:05 +08:00
/// <summary>
/// 事件回调,当面板被打开时触发
/// </summary>
event Action OnEntry;
2024-11-03 16:38:17 +08:00
event Func<UniTask> OnEntryAsync;
event Action OnEntryCompleted;
2023-09-01 14:35:05 +08:00
/// <summary>
/// 事件回调,当面板被关闭时触发
/// </summary>
event Action OnExit;
2024-08-13 18:42:51 +08:00
2024-11-03 16:38:17 +08:00
event Func<UniTask> OnExitAsync;
event Action OnExitCompleted;
void OnTick(float deltaTime);
2023-08-23 01:59:26 +08:00
}
}