Esempio n. 1
0
        public void DisablePlugin(Plugin plugin)
        {
            if (disabledPlugins.ContainsValue(plugin))
            {
                return;
            }

            Manager.Logger.Info("PLUGIN_MANAGER", "Disabling plugin " + plugin.Details.name + " " + plugin.Details.version);

            Manager.Logger.Debug("PLUGIN_MANAGER", "Altering dictionaries");
            enabledPlugins.Remove(plugin.Details.id);
            disabledPlugins.Add(plugin.Details.id, plugin);

            Manager.Logger.Debug("PLUGIN_MANAGER", "Invoking OnDisable");
            plugin.OnDisable();

            Manager.Logger.Debug("PLUGIN_MANAGER", "Unloading commands");
            CommandManager.UnregisterCommands(plugin);
            Manager.Logger.Debug("PLUGIN_MANAGER", "Unloading event handlers");
            EventManager.Manager.RemoveEventHandlers(plugin);
            Manager.Logger.Debug("PLUGIN_MANAGER", "Unloading configs");
            ConfigManager.Manager.UnloadPlugin(plugin);
            Manager.Logger.Debug("PLUGIN_MANAGER", "Unloading translations");
            LangManager.Manager.UnregisterPlugin(plugin);
            Manager.Logger.Debug("PLUGIN_MANAGER", "Unloading pipe imports/exports");
            PipeManager.Manager.UnregisterPlugin(plugin);
            Manager.Logger.Info("PLUGIN_MANAGER", "Disabled plugin " + plugin.Details.name + " " + plugin.Details.version);
        }
Esempio n. 2
0
 public void DisablePlugin(Plugin plugin)
 {
     plugin.OnDisable();
     EventManager.Manager.RemoveEventHandlers(plugin);
     CommandManager.UnregisterCommands(plugin);
     disabledPlugins.Add(plugin.Details.id, plugin);
     ConfigManager.Manager.UnloadPlugin(plugin);
 }