From edb5db238ce23fe2575a7fe90cf006c2fdc2f197 Mon Sep 17 00:00:00 2001 From: Jamis Date: Thu, 7 Aug 2025 23:18:19 +0800 Subject: [PATCH] improve robustness (#2019) --- .../GameTask/Common/Job/ClaimBattlePassRewardsTask.cs | 8 ++++---- .../Common/Job/ClaimBattlePassRewardsTask.en.resx | 3 +++ .../Common/Job/ClaimBattlePassRewardsTask.fr.resx | 3 +++ .../Common/Job/ClaimBattlePassRewardsTask.zh-Hans.resx | 3 +++ .../Common/Job/ClaimBattlePassRewardsTask.zh-Hant.resx | 3 +++ 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.cs b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.cs index 6774f7e4..75413de7 100644 --- a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.cs +++ b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.cs @@ -25,13 +25,13 @@ public class ClaimBattlePassRewardsTask { private readonly ReturnMainUiTask _returnMainUiTask = new(); - private readonly string claimAllLocalizedString; + private readonly string[] claimAllLocalizedStrings; public ClaimBattlePassRewardsTask() { IStringLocalizer stringLocalizer = App.GetService>() ?? throw new NullReferenceException(); CultureInfo cultureInfo = new CultureInfo(TaskContext.Instance().Config.OtherConfig.GameCultureInfoName); - this.claimAllLocalizedString = stringLocalizer.WithCultureGet(cultureInfo, "一键"); + this.claimAllLocalizedStrings = ((string[])["一键", "领取"]).Select(i => stringLocalizer.WithCultureGet(cultureInfo, i)).ToArray(); } public async Task Start(CancellationToken ct) @@ -88,8 +88,8 @@ public class ClaimBattlePassRewardsTask { using var ra = CaptureToRectArea(); var ocrList = ra.FindMulti(RecognitionObject.Ocr(ra.ToRect().CutRightBottom(0.3, 0.2))); - var wt = ocrList.FirstOrDefault(txt => Regex.IsMatch(txt.Text, this.claimAllLocalizedString)); - Debug.WriteLine(this.claimAllLocalizedString); + var wt = ocrList.FirstOrDefault(txt => this.claimAllLocalizedStrings.Any(i => Regex.IsMatch(txt.Text, i))); + Debug.WriteLine(this.claimAllLocalizedStrings); if (wt != null) { wt.Click(); diff --git a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.en.resx b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.en.resx index fb941363..6ab334b8 100644 --- a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.en.resx +++ b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.en.resx @@ -120,4 +120,7 @@ All + + Claim + \ No newline at end of file diff --git a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.fr.resx b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.fr.resx index d57ecdfa..04f31c07 100644 --- a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.fr.resx +++ b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.fr.resx @@ -120,4 +120,7 @@ Tout + + récupérer + \ No newline at end of file diff --git a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hans.resx b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hans.resx index 4c89b85f..7943a651 100644 --- a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hans.resx +++ b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hans.resx @@ -120,4 +120,7 @@ 一键 + + 领取 + \ No newline at end of file diff --git a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hant.resx b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hant.resx index ce0c0e49..e60eccd6 100644 --- a/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hant.resx +++ b/BetterGenshinImpact/GameTask/Common/Job/ClaimBattlePassRewardsTask.zh-Hant.resx @@ -120,4 +120,7 @@ 一鍵 + + 領取 + \ No newline at end of file