public void ModifyEvent(PlayerEvent eventMask, PlayerEventHandler handler) { lock (event_handlers) { VerifyEventMask(eventMask); LinkedListNode <PlayerEventHandlerSlot> node = FindEventNode(handler); if (node != null) { PlayerEventHandlerSlot slot = node.Value; slot.EventMask = eventMask; node.Value = slot; } } }
public void ConnectEvent(PlayerEventHandler handler, PlayerEvent eventMask, bool connectAfter) { lock (event_handlers) { VerifyEventMask(eventMask); PlayerEventHandlerSlot slot = new PlayerEventHandlerSlot(eventMask, handler); if (connectAfter) { event_handlers.AddLast(slot); } else { event_handlers.AddFirst(slot); } } }
public void ConnectEvent(PlayerEventHandler handler, PlayerEvent eventMask, bool connectAfter) { lock (event_handlers) { VerifyEventMask (eventMask); PlayerEventHandlerSlot slot = new PlayerEventHandlerSlot (eventMask, handler); if (connectAfter) { event_handlers.AddLast (slot); } else { event_handlers.AddFirst (slot); } } }