From 2ff8d6d7f4d47dfe1b0d8bbdbab071baa243deb5 Mon Sep 17 00:00:00 2001
From: DismissedLight <1686188646@qq.com>
Date: Tue, 12 Sep 2023 22:14:40 +0800
Subject: [PATCH] achievement versioning
---
.../Model/Metadata/Achievement/Achievement.cs | 5 ++++
.../Resource/Localization/SH.Designer.cs | 2 +-
.../Snap.Hutao/Resource/Localization/SH.resx | 2 +-
.../Snap.Hutao/View/Page/AchievementPage.xaml | 26 ++++++++++++++++---
.../Achievement/AchievementViewModel.cs | 23 +++++++++++-----
5 files changed, 46 insertions(+), 12 deletions(-)
diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Achievement/Achievement.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Achievement/Achievement.cs
index 54ed3441..ba2e8cbf 100644
--- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Achievement/Achievement.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Achievement/Achievement.cs
@@ -50,4 +50,9 @@ internal sealed class Achievement
/// 图标
///
public string? Icon { get; set; }
+
+ ///
+ /// 版本
+ ///
+ public string Version { get; set; } = default!;
}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
index f5fe92d6..e171df65 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
@@ -3679,7 +3679,7 @@ namespace Snap.Hutao.Resource.Localization {
}
///
- /// 查找类似 搜索成就名称,描述或编号 的本地化字符串。
+ /// 查找类似 搜索成就名称,描述,版本或编号 的本地化字符串。
///
internal static string ViewPageAchievementSearchPlaceholder {
get {
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index b2a94458..1e705ef7 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -1380,7 +1380,7 @@
删除当前存档
- 搜索成就名称,描述或编号
+ 搜索成就名称,描述,版本或编号
优先未完成
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/AchievementPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/AchievementPage.xaml
index 434094f1..19f20d64 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/AchievementPage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/AchievementPage.xaml
@@ -32,7 +32,10 @@
-
+
@@ -53,7 +56,7 @@
DefaultLabelPosition="Right">
-
+
+
+
+
+
+
+
+
+
+
+
((AchievementView)obj).Inner.Id == achievementId;
+ return;
}
- else
+
+ if (VersionRegex().IsMatch(search))
{
- Achievements.Filter = obj =>
- {
- AchievementView view = (AchievementView)obj;
- return view.Inner.Title.Contains(search, StringComparison.CurrentCultureIgnoreCase)
- || view.Inner.Description.Contains(search, StringComparison.CurrentCultureIgnoreCase);
- };
+ Achievements.Filter = obj => ((AchievementView)obj).Inner.Version == search;
+ return;
}
+
+ Achievements.Filter = obj =>
+ {
+ AchievementView view = (AchievementView)obj;
+ return view.Inner.Title.Contains(search, StringComparison.CurrentCultureIgnoreCase)
+ || view.Inner.Description.Contains(search, StringComparison.CurrentCultureIgnoreCase);
+ };
}
}
}
@@ -407,4 +413,7 @@ internal sealed partial class AchievementViewModel : Abstraction.ViewModel, INav
UpdateAchievementsFinishPercent();
}
}
+
+ [GeneratedRegex("\\d\\.\\d")]
+ private static partial Regex VersionRegex();
}
\ No newline at end of file