在Unity中 用C#实现自定义的事件系统
用法:
EventUtil.AddListener("事件名称", 回调方法) // 添加事件监听器
EventUtil.RemoveListener("事件名称", 回调方法) // 移除事件监听器
EventUtil.DispatchEvent("事件名称", 不定长参数...) // 派发事件
实现效果:
事件工具
EventUtil.cs
namespace Pers.ZY.Events {
/// <summary>
/// 事件工具
/// <para>ZhangYu 2019-03-04</para>
/// </summary>
public static class EventUtil {
/// <summary> 事件派发器 </summary>
private static EventDispatcher dispatcher = new EventDispatcher();
/// <summary> 添加事件监听器 </summary>
/// <param name="eventType">事件类型</param>
/// <param name="eventHandler">事件处理器</param>
public static void AddListener(string eventType, EventListener.EventHandler eventHandler) {
dispatcher.AddListener(eventType, eventHandler);
}
/// <summary> 移除事件监听器 </summary>
/// <param name="eventType">事件类型</param>
/// <param name="eventHandler">事件处理器</param>
public static void RemoveListener(string eventType, EventListener.EventHandler eventH