/// <summary> /// レシーバー登録 /// </summary> public static void Register(IEventReceiverBase target) { if (Instance._listeners.All(l => l.Listener != target)) { Instance._listeners.Add(new EventListenerWrapper(target)); } }
public static void UnRegister(IEventReceiverBase target) { Type t = target.GetType(); ClassMap map = class_register_map[t]; foreach (var busmap in map.buses) { busmap.unregister(target); } }
public static void Register(IEventReceiverBase handler) { count++; hash.Add(handler as IEventReceiver <T>); if (buffer.Length < count) { buffer = new IEventReceiver <T> [count + blocksize]; } hash.CopyTo(buffer); }
public EventListenerWrapper(IEventReceiverBase listener) { Listener = listener; }
/// <summary> /// レシーバー解除 /// </summary> public static void Unregister(IEventReceiverBase target) { Instance._listeners.RemoveAll(l => l.Listener == target); }
public static void UnRegister(IEventReceiverBase handler) { hash.Remove(handler as IEventReceiver <T>); hash.CopyTo(buffer); count--; }