Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public static void Save()
 {
     XmlPersistanceWriter.SaveObject((PersistableObject)Macros.Config, Macros.GetConfigurationPath());
 }