/// <summary> /// Remove a plugin from hooks /// </summary> /// <param name="plugin">Plugin to be removed from hooks</param> /// <exception cref="ArgumentNullException"></exception> public void RemovePluginFromHooks(Plugin plugin) { if (plugin == null) { throw new ArgumentNullException(nameof(plugin)); } RegisteredForHooks.RemoveAll(p => p.Name == plugin.Name); }
/// <summary> /// Registers a plugin to receive hook calls for this client /// </summary> /// <param name="plugin"></param> /// <exception cref="ArgumentNullException"></exception> public void RegisterPluginForHooks(Plugin plugin) { if (plugin == null) { throw new ArgumentNullException(nameof(plugin)); } RemovePluginFromHooks(plugin); RegisteredForHooks.Add(plugin); }