public static void Load() { try { // Load settings to instance from XML file. Current = HPSettingsPath.ReadXml <HoppoPluginSettings>(); } catch { Current = new HoppoPluginSettings(); } }
public HoppoPluginLoader() { try { // Initialize HoppoPlugin ONCE. if (!UniversalConstants.Initialized) { // Check update. CommonHelper.UpdateChecker(); // Check version. if (File.Exists(HoppoPluginSettings.UsageRecordPath)) { StreamReader s = new StreamReader(HoppoPluginSettings.UsageRecordPath); string recordedVersion = s.ReadLine(); s.Close(); if (recordedVersion == "6.0") { // Initialize HP Local Cache System. initializeCacher(); // Load settings. HoppoPluginSettings.Load(); // Start NAS. NekoAvoidanceSystem.Startup(); // Create a instance of MainView. mainView = new MainView { DataContext = new MainViewViewModel { MapInfoProxy = new MapInfoProxy() } }; } // Version is out of date. Clear version record and lead user to welcome window. else { File.Delete(HoppoPluginSettings.UsageRecordPath); File.Delete(HoppoPluginSettings.HPSettingsPath); Welcome w = new Welcome { DataContext = new HoppoPluginSettings() }; w.ShowDialog(); } } else { Welcome w = new Welcome { DataContext = new HoppoPluginSettings() }; w.ShowDialog(); } UniversalConstants.Initialized = true; } // Instance was created. Do nothing. else { } } catch (Exception ex) { MessageBox.Show("初始化错误!将重置HoppoPlugin以尝试修复此问题。\n" + ex.ToString(), "警告", MessageBoxButton.OK, MessageBoxImage.Error); if (Directory.Exists(HoppoPluginSettings.KCVSettingsPath)) { Directory.Delete(HoppoPluginSettings.KCVSettingsPath, true); } if (Directory.Exists(UniversalConstants.CurrentVersion + @"\HoppoPlugin\")) { Directory.Delete(UniversalConstants.CurrentVersion + @"\HoppoPlugin\", true); } } }