/// 监听不需要参数传递的事件 publicvoidAddEventListener(string name, UnityAction action) { //有的情况 if (eventDic.ContainsKey(name)) { (eventDic[name] as EventInfo).actions += action; } //没有的情况 else { eventDic.Add(name, new EventInfo(action)); } }
/// 移除需要参数的事件监听 publicvoidRemoveEventListener<T>(string name, UnityAction<T> action) { if (eventDic.ContainsKey(name)) (eventDic[name] as EventInfo<T>).actions -= action; }
/// 移除不需要参数的事件 publicvoidRemoveEventListener(string name, UnityAction action) { if (eventDic.ContainsKey(name)) (eventDic[name] as EventInfo).actions -= action; }
/// 触发需要参数的事件 publicvoidEventTrigger<T>(string name, T info) { if (eventDic.ContainsKey(name)) { if((eventDic[name] as EventInfo<T>).actions != null) (eventDic[name] as EventInfo<T>).actions.Invoke(info); } }
///触发事件(不要参数) publicvoidEventTrigger(string name) { if (eventDic.ContainsKey(name)) { if ((eventDic[name] as EventInfo).actions != null) (eventDic[name] as EventInfo).actions.Invoke(); } }