public void Close() { m_client.Close(); m_cmdTranslator.Dispose(); m_cmdTranslator = null; foreach (ProfilePluginConfiguration config in m_activePlugins.Keys) { IJinxBotPlugin plugin = m_activePlugins[config]; IMultiClientPlugin mcp = plugin as IMultiClientPlugin; if (mcp != null) { mcp.RemoveClient(this); } ISingleClientPlugin scp = plugin as ISingleClientPlugin; if (scp != null) { scp.UnregisterEvents(this); scp.DestroyPluginWindows(this.ProfileDocument); } PluginFactory.ClosePluginInstance(config, plugin); JinxBotConfiguration.Instance.Save(); } }
public void Close() { while (m_clientPlugins.Count > 0) { ISingleClientPlugin plugin = m_clientPlugins[0]; plugin.DestroyPluginWindows(m_view); if (m_clientPluginSettings.ContainsKey(plugin)) { Dictionary <string, string> settings = m_clientPluginSettings[plugin]; plugin.Shutdown(settings); } } }