/// <summary> /// Subscribes to an event. /// </summary> /// <param name="Event">The name of the event to listen for.</param> /// <param name="Listener">The listener to notify.</param> /// <param name="Plugin">The plugin to associate the listener with.</param> /// <returns>The resaulting EventListener</returns> public EventListener RegisterEvent(Event Event, IChraftListener Listener, IPlugin Plugin) { EventListener el = new EventListener(Listener, Plugin, Event); RegisterEvent(el); return(el); }
/// <summary> /// Unsubscribes from an event. /// </summary> /// <param name="Event">The name of the event.</param> /// <param name="Listener">The listener.</param> /// <param name="Plugin">The plugin associated with the listener.</param> public void UnregisterEvent(Event Event, IChraftListener Listener, IPlugin Plugin) { foreach (EventListener el in PluginHooks.Find(Event).Plugins) { if (el.Event == Event && el.Listener == Listener && el.Plugin == Plugin) { UnregisterEvent(el); } } }
/// <summary> /// initializes a new instance of the EventListener struct. /// </summary> /// <param name="listener">A valid Listener. /// All Listeners are in the Chraft.Plugins.Listener namespace.</param> /// <param name="plugin">The IPlugin that the listener is attached to.</param> /// <param name="Event">The name of the event to listen for.</param> public EventListener(IChraftListener listener, IPlugin plugin, Event Event) { this.Listener = listener; this.Event = Event; this.Plugin = plugin; }
/// <summary> /// Subscribes to an event. /// </summary> /// <param name="Event">The name of the event to listen for.</param> /// <param name="Listener">The listener to notify.</param> /// <param name="Plugin">The plugin to associate the listener with.</param> /// <returns>The resaulting EventListener</returns> public EventListener RegisterEvent(Event Event, IChraftListener Listener, IPlugin Plugin) { EventListener el = new EventListener(Listener, Plugin, Event); RegisterEvent(el); return el; }