コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }