Пример #1
0
        //! Patch: SavedProfile.SaveSettings
        internal static void SaveSettings(SettingsV01 original)
        {
            string realPath = Path.Combine(SavePath, SETTINGS_FILENAME);

            GuuCore.LOGGER.Log($"Saving modded settings file {SETTINGS_FILENAME}");

            SettingsV01 settings = new SettingsV01();

            // TODO: Strip content from the original

            using (MemoryStream dataStream = new MemoryStream())
            {
                settings.Write(dataStream);
                dataStream.Seek(0, SeekOrigin.Begin);
                using (FileStream fileStream = File.Create(realPath))
                {
                    try
                    {
                        CopyStream(dataStream, fileStream);
                    }
                    catch (Exception e)
                    {
                        GuuCore.LOGGER.LogError("Failed to save modded settings file.");
                        GuuCore.LOGGER.LogError(e.ParseTrace());
                    }
                }
            }

            GuuCore.LOGGER.Log($"Saved modded settings file {SETTINGS_FILENAME}");
        }