DC优化
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
|
||||
namespace MFrame
|
||||
{
|
||||
/// <summary>
|
||||
/// UI面板基础接口
|
||||
/// </summary>
|
||||
/// <typeparam name="T">面板数据类型参数</typeparam>
|
||||
public interface IPanelBase : IDestroy
|
||||
{
|
||||
/// <summary>
|
||||
/// 显示面板
|
||||
/// </summary>
|
||||
/// <param name="data">面板所需数据</param>
|
||||
void Show(PanelBaseData data, System.Action<IPanelBase> completeHandler);
|
||||
|
||||
void ___CloseForPanelMgr(Action complete);
|
||||
|
||||
|
||||
bool IsAutoDestroy();
|
||||
|
||||
/// <summary>
|
||||
/// 是否正在显示中
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
bool isShowing();
|
||||
|
||||
/// <summary>
|
||||
/// 是否正在加载中
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
bool isLoading();
|
||||
|
||||
/// <summary>
|
||||
/// 面板所在 UI 层级(全屏遮挡判定用:仅隐藏低于本层面板层级的面板)
|
||||
/// </summary>
|
||||
UILayerIdx panelLayerIdx { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 被上层全屏面板遮挡时是否仍保持显示(常驻特殊面板为 true)
|
||||
/// </summary>
|
||||
bool isKeepShowWhenCovered { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否正被上层全屏面板隐藏
|
||||
/// </summary>
|
||||
bool isHiddenByCover { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 业务是否已关闭(区别于“被遮挡隐藏”)
|
||||
/// </summary>
|
||||
bool isClosed { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 全屏遮挡优化:由上层全屏面板调用,隐藏本面板,省去被盖住的 DrawCall
|
||||
/// </summary>
|
||||
void SetCoverHidden();
|
||||
|
||||
/// <summary>
|
||||
/// 全屏遮挡优化:由隐藏者关闭/销毁时调用,恢复本面板显示(幂等)
|
||||
/// </summary>
|
||||
void RestoreFromCover();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user