From 9b3d39690e798ea3974b6441600d127f5922ccbf Mon Sep 17 00:00:00 2001 From: Hakoyu Date: Mon, 20 May 2024 16:25:49 +0800 Subject: [PATCH] =?UTF-8?q?#=20VPet.Solution=20=E4=BF=AE=E5=A4=8D=E6=B8=85?= =?UTF-8?q?=E9=99=A4=E5=A4=B1=E6=95=88=E6=A8=A1=E7=BB=84=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=85=B3=E9=97=AD=E6=A8=A1=E7=BB=84=E5=90=8E,?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/SettingEditor/ModSettingModel.cs | 10 +++++----- .../SettingEditor/ModSettingPageVM.cs | 18 +++++++++--------- .../Views/SettingEditor/ModSettingPage.xaml | 2 +- .../Views/SettingEditor/SettingWindow.xaml | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/VPet.Solution/Models/SettingEditor/ModSettingModel.cs b/VPet.Solution/Models/SettingEditor/ModSettingModel.cs index a79e3aa..28fd91b 100644 --- a/VPet.Solution/Models/SettingEditor/ModSettingModel.cs +++ b/VPet.Solution/Models/SettingEditor/ModSettingModel.cs @@ -1,7 +1,7 @@ -using LinePutScript; -using LinePutScript.Localization.WPF; -using System.Collections.ObjectModel; +using System.Collections.ObjectModel; using System.Windows; +using LinePutScript; +using LinePutScript.Localization.WPF; namespace VPet.Solution.Models.SettingEditor; @@ -94,10 +94,10 @@ public class ModSettingModel : ObservableClass setting.Remove(ModLineName); setting.Remove(PassModLineName); setting.Remove(MsgModLineName); - if (Mods.Any() is false) - return; foreach (var mod in Mods) { + if (mod.IsEnabled is false) + continue; setting[ModLineName].Add(new Sub(mod.ID.ToLower())); setting[MsgModLineName].Add(new Sub(mod.ID, "True")); if (mod.IsPass) diff --git a/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs b/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs index 665de9b..ea87400 100644 --- a/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs +++ b/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs @@ -1,5 +1,5 @@ -using LinePutScript.Localization.WPF; -using System.Windows; +using System.Windows; +using LinePutScript.Localization.WPF; using VPet.Solution.Models.SettingEditor; namespace VPet.Solution.ViewModels.SettingEditor; @@ -37,16 +37,16 @@ public class ModSettingPageVM : ObservableClass #endregion #region CurrentModMoel - private ModModel _currentModModel; - public ModModel CurrentModMoel + private ModModel _currentModModel = null!; + public ModModel CurrentModModel { get => _currentModModel; set { if (_currentModModel is not null) _currentModModel.PropertyChangingX -= CurrentModModel_PropertyChangingX; - SetProperty(ref _currentModModel, value); - if (value is not null) + SetProperty(ref _currentModModel!, value); + if (_currentModModel is not null) _currentModModel.PropertyChangingX += CurrentModModel_PropertyChangingX; } } @@ -117,7 +117,7 @@ public class ModSettingPageVM : ObservableClass for (var i = 0; i < ModSetting.Mods.Count; i++) { if (ModSetting.Mods[i].IsEnabled is null) - ModSetting.Mods.RemoveAt(i); + ModSetting.Mods.RemoveAt(i--); } SearchMod = string.Empty; } @@ -158,8 +158,8 @@ public class ModSettingPageVM : ObservableClass if (string.IsNullOrWhiteSpace(name)) ShowMods = ModSetting.Mods; else - ShowMods = ModSetting.Mods.Where( - s => s.Name.Contains(SearchMod, StringComparison.OrdinalIgnoreCase) + ShowMods = ModSetting.Mods.Where(s => + s.Name.Contains(SearchMod, StringComparison.OrdinalIgnoreCase) ); } } diff --git a/VPet.Solution/Views/SettingEditor/ModSettingPage.xaml b/VPet.Solution/Views/SettingEditor/ModSettingPage.xaml index 9e35474..c672ef3 100644 --- a/VPet.Solution/Views/SettingEditor/ModSettingPage.xaml +++ b/VPet.Solution/Views/SettingEditor/ModSettingPage.xaml @@ -38,7 +38,7 @@ AutoGenerateColumns="False" CanUserAddRows="False" ItemsSource="{Binding ShowMods}" - SelectedItem="{Binding CurrentModMoel}"> + SelectedItem="{Binding CurrentModModel}">