private void SaveSettings() { if (!_isInitSetting) { return; } txtOverayLocation.Text = $"{Settings.OverlayLocation.X},{Settings.OverlayLocation.Y}"; try { using (var fs = new FileStream(Settings.Path, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) using (var xw = new XmlTextWriter(fs, Encoding.UTF8) { Formatting = Formatting.Indented, Indentation = 1, IndentChar = '\t' }) { xw.WriteStartDocument(true); xw.WriteStartElement("Config"); // <Config> xw.WriteStartElement("SettingsSerializer"); // <Config><SettingsSerializer> _srset.ExportToXml(xw); // Fill the SettingsSerializer XML xw.WriteEndElement(); // </SettingsSerializer> xw.WriteEndElement(); // </Config> xw.WriteEndDocument(); // Tie up loose ends (shouldn't be any) xw.Flush(); // Flush the file buffer to disk xw.Close(); } } catch (Exception ex) { MsgLog.Ex(ex, "Exception: save setting failed"); } }
private static void Fill(string json) { try { var data = JsonConvert.DeserializeObject <Group>(json); var version = data.Version; if (version > decimal.Truncate(Version)) { var fates = new Dictionary <int, Fate>(); foreach (var area in data.Areas) { foreach (var fate in area.Value.Fates) { fate.Value.Area = area.Value; fates.Add(fate.Key, fate.Value); } } Areas = data.Areas; Instances = data.Instances; Roulettes = data.Roulettes; Fates = fates; Version = version; } } catch (Exception ex) { MsgLog.Ex(ex, "l-data-error"); } }