Files
5.24BuYu/Assets/Framework/Tool/UITool/UIBase.cs
T
2026-06-21 22:38:18 +08:00

35 lines
818 B
C#

using UnityEngine;
/// <summary>
/// UI 基类:统一生命周期、显示/隐藏、入场出场动画钩子
/// </summary>
public abstract class UIBase : MonoBehaviour
{
public UIPanel PanelType { get; private set; }
// 初始化,由 UIManager 赋值
public void Init(UIPanel type)
{
PanelType = type;
OnInit();
}
// 生命周期钩子
protected virtual void OnInit() { }
protected virtual void OnShow(object args = null) { }
protected virtual void OnHide() { }
public virtual void Show(object args = null)
{
gameObject.SetActive(true);
transform.SetAsLastSibling(); // 每次激活都放到最上层
OnShow(args);
}
public virtual void Hide()
{
OnHide();
gameObject.SetActive(false);
}
}