From 83c4ed2446bb6e496053643d48023624edb531b2 Mon Sep 17 00:00:00 2001 From: Hakoyu Date: Tue, 13 Feb 2024 15:15:43 +0800 Subject: [PATCH] =?UTF-8?q?#=20VPet.Solution=20##=20=E4=BF=AE=E5=A4=8D=20-?= =?UTF-8?q?=20=E8=87=AA=E5=8A=A8=E8=AE=A1=E7=AE=97=E8=B6=85=E6=A0=87=20`Au?= =?UTF-8?q?toCal`=20=E9=94=99=E8=AF=AF=20-=20=E6=8D=95=E8=8E=B7=E9=9F=B3?= =?UTF-8?q?=E9=87=8F`MusicCatch`=E5=92=8C=E9=AB=98=E6=BD=AE=E9=9F=B3?= =?UTF-8?q?=E9=87=8F`MusicMax`=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/SettingEditor/InteractiveSettingModel.cs | 10 +++++----- VPet.Solution/Models/SettingEditor/SettingModel.cs | 8 +++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs b/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs index 6ab7376..602b797 100644 --- a/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs +++ b/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs @@ -205,7 +205,7 @@ public class InteractiveSettingModel : ObservableClass /// 当实时播放音量达到该值时运行音乐动作 /// [ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MusicCatch))] - [ReflectionPropertyConverter(typeof(DoubleToInt32Converter))] + [ReflectionPropertyConverter(typeof(PercentageConverter))] public int MusicCatch { get => _musicCatch; @@ -220,7 +220,7 @@ public class InteractiveSettingModel : ObservableClass /// 当实时播放音量达到该值时运行特殊音乐动作 /// [ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MusicMax))] - [ReflectionPropertyConverter(typeof(DoubleToInt32Converter))] + [ReflectionPropertyConverter(typeof(PercentageConverter))] public int MusicMax { get => _musicMax; @@ -297,15 +297,15 @@ public class SecondToMinuteConverter : ReflectionConverterBase } } -public class DoubleToInt32Converter : ReflectionConverterBase +public class PercentageConverter : ReflectionConverterBase { public override double Convert(int sourceValue) { - return sourceValue; + return sourceValue / 100.0; } public override int ConvertBack(double targetValue) { - return System.Convert.ToInt32(targetValue); + return System.Convert.ToInt32(targetValue * 100); } } diff --git a/VPet.Solution/Models/SettingEditor/SettingModel.cs b/VPet.Solution/Models/SettingEditor/SettingModel.cs index b6add45..89763cb 100644 --- a/VPet.Solution/Models/SettingEditor/SettingModel.cs +++ b/VPet.Solution/Models/SettingEditor/SettingModel.cs @@ -102,14 +102,20 @@ public class SettingModel : ObservableClass public SettingModel(Setting setting) { _setting = setting; + GraphicsSetting = LoadSetting(); if (string.IsNullOrWhiteSpace(GraphicsSetting.Language)) GraphicsSetting.Language = LocalizeCore.CurrentCulture; + InteractiveSetting = LoadSetting(); + SystemSetting = LoadSetting(); + CustomizedSetting = LoadCustomizedSetting(setting); + DiagnosticSetting = LoadSetting(); - DiagnosticSetting.SetAutoCalToSetting(setting); + DiagnosticSetting.GetAutoCalFromSetting(setting); + ModSetting = LoadModSetting(setting); //MergeNotify(); }