Files
gold_dolphin/unity/Assets/Script/Managers/UIWindow.cs
2026-06-20 19:35:25 +08:00

41 lines
902 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class UIWindow : MonoBehaviour
{
public delegate void CloseHandler(UIWindow sender, WindowResult result);
public event CloseHandler OnClose;
public GameObject Root;
public virtual System.Type Type { get { return this.GetType(); } }
public enum WindowResult
{
None = 0,
Yes,
NO,
}
public void Close(WindowResult result = WindowResult.None)
{
UIManager.Instance.Close(this.Type);
if (this.OnClose != null)
this.OnClose(this, result);
this.OnClose = null;
}
public virtual void OnCloseClick()
{
this.Close();
}
public virtual void OnYesClick()
{
this.Close(WindowResult.Yes);
}
public virtual void OnNoClick()
{
this.Close(WindowResult.NO);
}
}