public void RemoveHandler(GameEvent.EVENT id, Handler handler) { if (!_map.ContainsKey(id)) { _map [id] = new List <Handler>(); } List <Handler> handlers = _map [id]; handlers.Remove(handler); }
public void AddHandler(GameEvent.EVENT id, Handler handler) { if (!_map.ContainsKey(id)) { _map [id] = new List <Handler>(); } List <Handler> handlers = _map [id]; Assert.assert(!handlers.Contains(handler)); handlers.Add(handler); }
public void RemoveAllHandleBelongTo(System.Object target) { foreach (KeyValuePair <GameEvent.EVENT, List <Handler> > keyValue in _map) { GameEvent.EVENT id = keyValue.Key; foreach (Handler handler in keyValue.Value) { if (handler.Target == target) { RemoveHandler(id, handler); } } } }