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); } }