// // Called during early stage toolset deinitialization. // virtual public void Unload(INWN2PluginHost Host) { ListView Lv; // // Early toolset teardown; deinitialize the script compiler hook so // that we may unload cleanly. // Lv = PluginUI.GetVerifyOutputListView(); if (Lv != null) { Lv.ItemActivate -= this.OnVerifyOutputListViewItemActivated; } UnhookScriptCompiler(); if (NWN2ToolsetMainForm.VersionControlManager.Preferences != null) { if (NWN2ToolsetMainForm.VersionControlManager.Preferences.ActiveProvider == this) { NWN2ToolsetMainForm.VersionControlManager.Preferences.ActiveProvider = m_OriginalVCPlugin; } m_OriginalVCPlugin = null; } m_SettingsManager = null; }
// // Standard INWN2Plugin methods. // // // Called during late stage toolset initialization. // virtual public void Load(INWN2PluginHost Host) { ListView Lv; m_SettingsManager = new SettingsManager(); m_SettingsManager.NeedSettingsLoad = true; // // By the time Load is invoked, the compiler is present. Install // the compiler hook now. // m_CompilerField = GetMainFormCompilerField(); m_ResourceAccessor = new ResourceAccessor(this); HookScriptCompiler(); // // Hook the version control system for resource change notification // distribution if preferences were available at this point. // // Otherwise, wait for a change notification to install the hook. // // if (NWN2ToolsetMainForm.VersionControlManager.Preferences != null) { m_OriginalVCPlugin = NWN2ToolsetMainForm.VersionControlManager.Preferences.ActiveProvider; if (m_OriginalVCPlugin == this) { m_OriginalVCPlugin = null; } NWN2ToolsetMainForm.VersionControlManager.Preferences.ActiveProvider = this; } else { NWN2Toolset.Plugins.NWN2VersionControlManagerPreferences.PreferencesChanged += this.OnVersionControlManagerPrefsChanged; } Lv = PluginUI.GetVerifyOutputListView(); if (Lv != null) { Lv.ItemActivate += this.OnVerifyOutputListViewItemActivated; } }