Exemplo n.º 1
0
        public void UnloadPlugin(string name, bool removeFromDict = true)
        {
            Logger.LogDebug("[IPModule] Unloading " + name + " plugin.");

            if (plugins.ContainsKey(name))
            {
                IPPlugin plugin = plugins[name];
                if (plugin.Globals.Contains("On_PluginShutdown"))
                {
                    plugin.Engine.Operations.InvokeMember(plugin.Class, "On_PluginShutdown", new object[0]);
                }
                plugin.OnPluginShutdown();
                plugin.KillTimers();
                RemoveHooks(plugin);
                if (removeFromDict)
                {
                    plugins.Remove(name);
                }

                Logger.LogDebug("[IPModule] " + name + " plugin was unloaded successfuly.");
            }
            else
            {
                Logger.LogError("[IPModule] Can't unload " + name + ". Plugin is not loaded.");
                throw new InvalidOperationException("[IPModule] Can't unload " + name + ". Plugin is not loaded.");
            }
        }
Exemplo n.º 2
0
        public void UnloadPlugin(string name, bool removeFromDict = true)
        {
            Logger.LogDebug("[IPModule] Unloading " + name + " plugin.");

            if (plugins.ContainsKey(name))
            {
                IPPlugin plugin = plugins[name];
                plugin.OnPluginShutdown();
                plugin.KillTimers();
                RemoveHooks(plugin);
                if (removeFromDict)
                {
                    plugins.Remove(name);
                }
                GlobalPluginCollector.GetPluginCollector().RemovePlugin(name);
                Logger.Log("[IPModule] " + name + " plugin was unloaded successfully.");
            }
            else
            {
                Logger.LogError("[IPModule] Can't unload " + name + ". Plugin is not loaded.");
                //throw new InvalidOperationException("[IPModule] Can't unload " + name + ". Plugin is not loaded.");
            }
        }