- 发布器
using UnityEngine;
using UnityEngine.UI;
//声明委托
public delegate void BoilerHandler(string status);
/// <summary>
/// 发布器
/// </summary>
public class Publisher : MonoBehaviour
{
//声明事件
public static event BoilerHandler BoilerEvent;
public InputField inputField;
void Start()
{
//发布事件
inputField.onEndEdit.AddListener(UpInfo);
}
void UpInfo(string str)
{
if (inputField.text != string.Empty)
BoilerEvent(str);
}
}
2.订阅器
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 订阅器
/// </summary>
public class Subscriber : MonoBehaviour
{
public Text text;
void OnEnable()
{
//订阅事件
Publisher.BoilerEvent += Push;
}
/// <summary>
/// 事件处理
/// </summary>
/// <param name="str"></param>
void Push(string str)
{
text.text = str;
}
void OnDisable()
{
//注销事件
Publisher.BoilerEvent -= Push;
}
}
运行结果: