NewN_UAVPlane/Assets/Zion/Scripts/UI/MessagePanel.cs

62 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;
public class MessagePanel : MonoBehaviour
{
Action<bool> callback;
public Text msgText;
public Button quedingBtn;
public Button quxiaoBtn;
public static GameObject messageItem;
public void Init(string msg, Action<bool> call)
{
msgText.text = msg;
callback = call;
if(call==null)
{
quedingBtn.gameObject.SetActive(false);
quxiaoBtn.gameObject.SetActive(false);
//无回调
Invoke("delete", 5);
}
else
{
//有回调
quedingBtn.onClick.AddListener(() =>
{
callback(true);
Destroy(gameObject);
});
quxiaoBtn.onClick.AddListener(() =>
{
callback(false);
Destroy(gameObject);
});
}
}
public void delete()
{
callback = null;
Destroy(gameObject);
}
public static void ShowMessage(string msg,Transform canvns,Action<bool> back=null)
{
if(messageItem==null)
{
messageItem = Resources.Load<GameObject>("UI/MessagePanel");
}
GameObject obj = Instantiate<GameObject>(messageItem, canvns);
obj.GetComponent<MessagePanel>().Init(msg, back);
}
}