public void RemoveEventListener(GameServerEvent gameServerEvent, GameServerEventListener listener)
 {
     if (eventListeners.ContainsKey(gameServerEvent))
     {
         IDictionary <GameServerEvent, GameServerEventListener> dictionary;
         GameServerEvent key;
         (dictionary = eventListeners)[key = gameServerEvent] = (GameServerEventListener)Delegate.Remove(dictionary[key], listener);
     }
 }
 public void AddEventListener(GameServerEvent gameServerEvent, GameServerEventListener listener)
 {
     if (!eventListeners.ContainsKey(gameServerEvent))
     {
         eventListeners.Add(gameServerEvent, listener);
     }
     else
     {
         IDictionary <GameServerEvent, GameServerEventListener> dictionary;
         GameServerEvent key;
         (dictionary = eventListeners)[key = gameServerEvent] = (GameServerEventListener)Delegate.Combine(dictionary[key], listener);
     }
 }