mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2026-02-21 15:07:43 +01:00
.
This commit is contained in:
parent
5c003d8cd4
commit
f8e9cc8988
43 changed files with 2215 additions and 668 deletions
|
|
@ -7,12 +7,22 @@ namespace Glamourer.Services;
|
|||
|
||||
public class BackupService
|
||||
{
|
||||
private readonly Logger _logger;
|
||||
private readonly DirectoryInfo _configDirectory;
|
||||
private readonly IReadOnlyList<FileInfo> _fileNames;
|
||||
|
||||
public BackupService(Logger logger, FilenameService fileNames)
|
||||
{
|
||||
var files = GlamourerFiles(fileNames);
|
||||
Backup.CreateBackup(logger, new DirectoryInfo(fileNames.ConfigDirectory), files);
|
||||
_logger = logger;
|
||||
_fileNames = GlamourerFiles(fileNames);
|
||||
_configDirectory = new DirectoryInfo(fileNames.ConfigDirectory);
|
||||
Backup.CreateAutomaticBackup(logger, _configDirectory, _fileNames);
|
||||
}
|
||||
|
||||
/// <summary> Create a permanent backup with a given name for migrations. </summary>
|
||||
public void CreateMigrationBackup(string name)
|
||||
=> Backup.CreatePermanentBackup(_logger, _configDirectory, _fileNames, name);
|
||||
|
||||
/// <summary> Collect all relevant files for glamourer configuration. </summary>
|
||||
private static IReadOnlyList<FileInfo> GlamourerFiles(FilenameService fileNames)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,14 +10,16 @@ public class ConfigMigrationService
|
|||
{
|
||||
private readonly SaveService _saveService;
|
||||
private readonly FixedDesignMigrator _fixedDesignMigrator;
|
||||
private readonly BackupService _backupService;
|
||||
|
||||
private Configuration _config = null!;
|
||||
private JObject _data = null!;
|
||||
|
||||
public ConfigMigrationService(SaveService saveService, FixedDesignMigrator fixedDesignMigrator)
|
||||
public ConfigMigrationService(SaveService saveService, FixedDesignMigrator fixedDesignMigrator, BackupService backupService)
|
||||
{
|
||||
_saveService = saveService;
|
||||
_fixedDesignMigrator = fixedDesignMigrator;
|
||||
_backupService = backupService;
|
||||
}
|
||||
|
||||
public void Migrate(Configuration config)
|
||||
|
|
@ -39,6 +41,7 @@ public class ConfigMigrationService
|
|||
if (_config.Version > 1)
|
||||
return;
|
||||
|
||||
_backupService.CreateMigrationBackup("pre_v1_to_v2_migration");
|
||||
_fixedDesignMigrator.Migrate(_data["FixedDesigns"]);
|
||||
_config.Version = 2;
|
||||
var customizationColor = _data["CustomizationColor"]?.ToObject<uint>() ?? ColorId.CustomizationDesign.Data().DefaultColor;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ using Glamourer.Unlocks;
|
|||
using Microsoft.Extensions.DependencyInjection;
|
||||
using OtterGui.Classes;
|
||||
using OtterGui.Log;
|
||||
using Penumbra.GameData.Data;
|
||||
|
||||
namespace Glamourer.Services;
|
||||
|
||||
|
|
@ -73,7 +74,8 @@ public static class ServiceManager
|
|||
.AddSingleton<ItemService>()
|
||||
.AddSingleton<ActorService>()
|
||||
.AddSingleton<CustomizationService>()
|
||||
.AddSingleton<ItemManager>();
|
||||
.AddSingleton<ItemManager>()
|
||||
.AddSingleton<HumanModelList>();
|
||||
|
||||
private static IServiceCollection AddInterop(this IServiceCollection services)
|
||||
=> services.AddSingleton<VisorService>()
|
||||
|
|
@ -93,7 +95,8 @@ public static class ServiceManager
|
|||
.AddSingleton<DesignFileSystem>()
|
||||
.AddSingleton<AutoDesignManager>()
|
||||
.AddSingleton<AutoDesignApplier>()
|
||||
.AddSingleton<FixedDesignMigrator>();
|
||||
.AddSingleton<FixedDesignMigrator>()
|
||||
.AddSingleton<DesignConverter>();
|
||||
|
||||
private static IServiceCollection AddState(this IServiceCollection services)
|
||||
=> services.AddSingleton<StateManager>()
|
||||
|
|
@ -114,6 +117,8 @@ public static class ServiceManager
|
|||
.AddSingleton<DesignFileSystemSelector>()
|
||||
.AddSingleton<DesignPanel>()
|
||||
.AddSingleton<DesignTab>()
|
||||
.AddSingleton<ModAssociationsTab>()
|
||||
.AddSingleton<DesignDetailTab>()
|
||||
.AddSingleton<UnlockTable>()
|
||||
.AddSingleton<UnlockOverview>()
|
||||
.AddSingleton<UnlocksTab>()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue