示例#1
0
        public void Load()
        {
            string configurationPath = Config.GetConfigurationPath();

            if (!File.Exists(configurationPath))
            {
                string str = Engine.FileManager.BasePath("config.xml");
                if (File.Exists(str))
                {
                    try
                    {
                        File.Move(str, configurationPath);
                    }
                    catch
                    {
                        File.Copy(str, configurationPath, false);
                    }
                }
            }
            if (!File.Exists(configurationPath))
            {
                return;
            }
            using (FileStream fileStream = new FileStream(configurationPath, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                XmlPersistanceReader persistanceReader = new XmlPersistanceReader((Stream)fileStream);
                ((PersistanceReader)persistanceReader).ReadDocument((PersistableObject)this);
                ((PersistanceReader)persistanceReader).Close();
            }
        }
示例#2
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);
        }