示例#1
0
    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);
    }
示例#2
0
    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);
    }
示例#3
0
 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);
             }
         }
     }
 }