private static MacroConfig LoadConfig() { MacroConfig macroConfig = new MacroConfig(); string configurationPath = Macros.GetConfigurationPath(); if (!File.Exists(configurationPath)) { string str = Engine.FileManager.BasePath("data/ultima/macros/macros.xml"); if (File.Exists(str)) { try { File.Move(str, configurationPath); } catch { File.Copy(str, configurationPath, false); } } else { ArchivedFile archivedFile = Engine.FileManager.GetArchivedFile("play/macros/macros.xml"); if (archivedFile != null) { using (FileStream fileStream = new FileStream(configurationPath, FileMode.Create, FileAccess.Write, FileShare.None)) archivedFile.Download((Stream)fileStream); } } } if (File.Exists(configurationPath)) { using (FileStream fileStream = new FileStream(configurationPath, FileMode.Open, FileAccess.Read, FileShare.Read)) { XmlPersistanceReader persistanceReader = new XmlPersistanceReader((Stream)fileStream); ((PersistanceReader)persistanceReader).ReadDocument((PersistableObject)macroConfig); ((PersistanceReader)persistanceReader).Close(); } } return(macroConfig); }
public static void Save() { XmlPersistanceWriter.SaveObject((PersistableObject)Macros.Config, Macros.GetConfigurationPath()); }