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); } }