public static void Unregister(EventbusEvent eventType, EventFunction function) { List <EventFunction> eventFunctions; EventListener.TryGetValue(eventType, out eventFunctions); if (eventFunctions == null) { return; } eventFunctions.Remove(function); }
public static void Register(EventbusEvent eventType, EventFunction function) { List <EventFunction> eventFunctions; EventListener.TryGetValue(eventType, out eventFunctions); if (eventFunctions == null) { eventFunctions = new List <EventFunction>(); EventListener.Add(eventType, eventFunctions); } eventFunctions.Add(function); }
public static void Push(EventbusEvent eventType, params object[] data) { List <EventFunction> eventFunctions; EventListener.TryGetValue(eventType, out eventFunctions); if (eventFunctions == null) { return; } List <EventFunction> deepCopy = new List <EventFunction>(eventFunctions); for (int i = 0; i < deepCopy.Count; i++) { deepCopy[i](data); } }