public void EndPlugin() { if (!this.isLoaded) { return; } try { this.Logger.Trace("start DeInitPlugin"); // 設定ファイルを保存する Settings.Instance.Save(); FFXIV.Framework.Config.Save(); FFXIV.Framework.Config.Free(); EnvironmentHelper.GarbageLogs(); // ターゲット情報ワーカを終了する MainWorker.Instance.End(); // FFXIVプラグインへのアクセスを終了する XIVPluginHelper.Instance.End(); XIVPluginHelper.Free(); // 参照を開放する WavePlayer.Free(); MainWorker.Free(); Settings.Free(); if (this.PluginStatusLabel != null) { this.PluginStatusLabel.Text = "Plugin exited."; } this.Logger.Trace("end DeInitPlugin. succeeded."); } catch (Exception ex) { this.Logger.Fatal(ex, "DeInitPlugin error."); this.ShowMessage("DeInitPlugin error.", ex); } finally { AppLog.FlushAll(); } }
public void EndPlugin() { try { this.Logger.Trace("start DeInitPlugin"); // ターゲット情報ワーカを終了する MainWorker.Instance.End(); // FFXIVプラグインへのアクセスを終了する FFXIVPlugin.Instance.End(); FFXIVPlugin.Free(); FFXIVReader.Free(); // 設定ファイルを保存する Settings.Instance.Save(); // 参照を開放する WavePlayer.Free(); MainWorker.Free(); FFXIVPlugin.Free(); Settings.Free(); this.PluginStatusLabel.Text = "Plugin exited."; this.Logger.Trace("end DeInitPlugin. succeeded."); } catch (Exception ex) { this.Logger.Fatal(ex, "DeInitPlugin error."); this.ShowMessage("DeInitPlugin error.", ex); } finally { AppLog.FlushAll(); } }