41 lines
902 B
C#
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);
|
|
}
|
|
}
|