diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/BackdropType.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/BackdropType.cs index 24f4b285..7a37a5a7 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/BackdropType.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/BackdropType.cs @@ -9,7 +9,7 @@ namespace Snap.Hutao.Core.Windowing; [HighQuality] internal enum BackdropType { - Transparent, + Transparent = -1, /// /// 无 diff --git a/src/Snap.Hutao/Snap.Hutao/Model/CollectionsNameValue.cs b/src/Snap.Hutao/Snap.Hutao/Model/CollectionsNameValue.cs index be468a7d..92c799ae 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/CollectionsNameValue.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/CollectionsNameValue.cs @@ -11,6 +11,12 @@ internal static class CollectionsNameValue return [.. Enum.GetValues().Select(x => new NameValue(x.ToString(), x))]; } + public static List> FromEnum(Func codiction) + where TEnum : struct, Enum + { + return [.. Enum.GetValues().Where(codiction).Select(x => new NameValue(x.ToString(), x))]; + } + public static List> From(IEnumerable sources, Func nameSelector) { return [.. sources.Select(x => new NameValue(nameSelector(x), x))]; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs b/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs index e2baa3f4..cdccd19b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AppOptions.cs @@ -24,7 +24,7 @@ internal sealed partial class AppOptions : DbStoreOptions set => SetOption(ref isEmptyHistoryWishVisible, SettingEntry.IsEmptyHistoryWishVisible, value); } - public List> BackdropTypes { get; } = CollectionsNameValue.FromEnum(); + public List> BackdropTypes { get; } = CollectionsNameValue.FromEnum(type => type >= 0); public BackdropType BackdropType {