From cddf66bd95fa47a3d6fa8fa02808b007dd4fb8c0 Mon Sep 17 00:00:00 2001 From: huiyadanli Date: Tue, 26 Dec 2023 21:27:40 +0800 Subject: [PATCH 1/4] revert quick enhance artifact --- BetterGenshinImpact/Core/Config/HotKeyConfig.cs | 2 +- .../View/Pages/MacroSettingsPage.xaml | 4 ++-- .../ViewModel/Pages/HotKeyPageViewModel.cs | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/BetterGenshinImpact/Core/Config/HotKeyConfig.cs b/BetterGenshinImpact/Core/Config/HotKeyConfig.cs index 99d0c6ef..a3a5d1fe 100644 --- a/BetterGenshinImpact/Core/Config/HotKeyConfig.cs +++ b/BetterGenshinImpact/Core/Config/HotKeyConfig.cs @@ -22,7 +22,7 @@ public partial class HotKeyConfig : ObservableObject [ObservableProperty] private string _turnAroundHotkey = "F3"; - // [ObservableProperty] private string _enhanceArtifactHotkey = "F4"; + [ObservableProperty] private string _enhanceArtifactHotkey = "F4"; [ObservableProperty] private string _quickBuyHotkey = ""; diff --git a/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml b/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml index a4ebb1b2..32173a48 100644 --- a/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml +++ b/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml @@ -98,7 +98,7 @@ - + diff --git a/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs b/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs index dd7a7d76..09336008 100644 --- a/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs +++ b/BetterGenshinImpact/ViewModel/Pages/HotKeyPageViewModel.cs @@ -120,13 +120,13 @@ public partial class HotKeyPageViewModel : ObservableObject ); HotKeySettingModels.Add(turnAroundHotKeySettingModel); - // var enhanceArtifactHotKeySettingModel = new HotKeySettingModel( - // "按下快速强化圣遗物", - // nameof(Config.HotKeyConfig.EnhanceArtifactHotkey), - // Config.HotKeyConfig.EnhanceArtifactHotkey, - // (_, _) => { QuickEnhanceArtifactMacro.Done(); } - // ); - // HotKeySettingModels.Add(enhanceArtifactHotKeySettingModel); + var enhanceArtifactHotKeySettingModel = new HotKeySettingModel( + "按下快速强化圣遗物", + nameof(Config.HotKeyConfig.EnhanceArtifactHotkey), + Config.HotKeyConfig.EnhanceArtifactHotkey, + (_, _) => { QuickEnhanceArtifactMacro.Done(); } + ); + HotKeySettingModels.Add(enhanceArtifactHotKeySettingModel); HotKeySettingModels.Add(new HotKeySettingModel( "按下快速购买商店物品", From 76989a6487b38208fec38846da736a180838cfb2 Mon Sep 17 00:00:00 2001 From: huiyadanli Date: Tue, 26 Dec 2023 21:31:19 +0800 Subject: [PATCH 2/4] update ui text --- BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml | 2 +- BetterGenshinImpact/View/Pages/TriggerSettingsPage.xaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml b/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml index 32173a48..ea258177 100644 --- a/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml +++ b/BetterGenshinImpact/View/Pages/MacroSettingsPage.xaml @@ -114,7 +114,7 @@ Grid.Column="0" FontTypography="Body" TextWrapping="Wrap" - Text="快速强化圣遗物(4.3下线)" /> + Text="快速强化圣遗物" /> + Text="自动选择鱼饵并抛竿(实验功能)" /> Date: Tue, 26 Dec 2023 21:33:45 +0800 Subject: [PATCH 3/4] fix LinkedStartEnabled not working --- BetterGenshinImpact/ViewModel/Pages/HomePageViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BetterGenshinImpact/ViewModel/Pages/HomePageViewModel.cs b/BetterGenshinImpact/ViewModel/Pages/HomePageViewModel.cs index 88835900..c9a8efe3 100644 --- a/BetterGenshinImpact/ViewModel/Pages/HomePageViewModel.cs +++ b/BetterGenshinImpact/ViewModel/Pages/HomePageViewModel.cs @@ -128,7 +128,7 @@ public partial class HomePageViewModel : ObservableObject, INavigationAware var hWnd = SystemControl.FindGenshinImpactHandle(); if (hWnd == IntPtr.Zero) { - if (!string.IsNullOrEmpty(Config.GenshinStartConfig.InstallPath)) + if (Config.GenshinStartConfig.LinkedStartEnabled && !string.IsNullOrEmpty(Config.GenshinStartConfig.InstallPath)) { hWnd = await SystemControl.StartFromLocalAsync(Config.GenshinStartConfig.InstallPath); } From 185e897e4ff7034c02e7f1f27a08895225a91fc7 Mon Sep 17 00:00:00 2001 From: huiyadanli Date: Tue, 26 Dec 2023 21:53:12 +0800 Subject: [PATCH 4/4] optimize expedition task --- .../GameTask/AutoSkip/OneKeyExpeditionTask.cs | 60 ++++++++++++++----- .../Macro/QuickEnhanceArtifactMacro.cs | 3 +- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoSkip/OneKeyExpeditionTask.cs b/BetterGenshinImpact/GameTask/AutoSkip/OneKeyExpeditionTask.cs index dd8e97d5..16a6751f 100644 --- a/BetterGenshinImpact/GameTask/AutoSkip/OneKeyExpeditionTask.cs +++ b/BetterGenshinImpact/GameTask/AutoSkip/OneKeyExpeditionTask.cs @@ -1,8 +1,12 @@ -using BetterGenshinImpact.GameTask.AutoSkip.Assets; -using BetterGenshinImpact.GameTask.Common; +using BetterGenshinImpact.Core.Simulator; +using BetterGenshinImpact.GameTask.AutoGeniusInvokation.Exception; +using BetterGenshinImpact.GameTask.AutoSkip.Assets; +using BetterGenshinImpact.GameTask.AutoWood.Utils; using BetterGenshinImpact.View.Drawable; using Microsoft.Extensions.Logging; -using OpenCvSharp; +using System; +using static BetterGenshinImpact.GameTask.Common.TaskControl; +using static Vanara.PInvoke.User32; namespace BetterGenshinImpact.GameTask.AutoSkip; @@ -10,21 +14,45 @@ public class OneKeyExpeditionTask { public void Run(AutoSkipAssets assets) { - // 1.全部领取 - var content = TaskControl.CaptureToContent(); - content.CaptureRectArea.Find(assets.CollectRo, ra => + try { - ra.ClickCenter(); - TaskControl.Logger.LogInformation("探索派遣:{Text}", "全部领取"); - TaskControl.Sleep(1100); - // 2.重新派遣 - content = TaskControl.CaptureToContent(); - content.CaptureRectArea.Find(assets.ReRo, ra2 => + // 1.全部领取 + var content = CaptureToContent(); + content.CaptureRectArea.Find(assets.CollectRo, ra => { - ra2.ClickCenter(); - TaskControl.Logger.LogInformation("探索派遣:{Text}", "再次派遣"); + ra.ClickCenter(); + Logger.LogInformation("探索派遣:{Text}", "全部领取"); + Sleep(1100); + // 2.重新派遣 + NewRetry.Do(() => + { + Sleep(1); + content = CaptureToContent(); + var ra2 = content.CaptureRectArea.Find(assets.ReRo); + if (ra2.IsEmpty()) + { + throw new RetryException("未检测到弹出菜单"); + } + else + { + ra2.ClickCenter(); + Logger.LogInformation("探索派遣:{Text}", "再次派遣"); + } + }, TimeSpan.FromSeconds(1), 3); + + // 3.退出派遣页面 ESC + Sleep(500); + Simulation.SendInputEx.Keyboard.KeyPress(VK.VK_ESCAPE); + Logger.LogInformation("探索派遣:{Text}", "完成"); }); - }); - VisionContext.Instance().DrawContent.ClearAll(); + } + catch (Exception e) + { + Logger.LogInformation(e.Message); + } + finally + { + VisionContext.Instance().DrawContent.ClearAll(); + } } } \ No newline at end of file diff --git a/BetterGenshinImpact/GameTask/Macro/QuickEnhanceArtifactMacro.cs b/BetterGenshinImpact/GameTask/Macro/QuickEnhanceArtifactMacro.cs index 5e36fa9e..44663134 100644 --- a/BetterGenshinImpact/GameTask/Macro/QuickEnhanceArtifactMacro.cs +++ b/BetterGenshinImpact/GameTask/Macro/QuickEnhanceArtifactMacro.cs @@ -6,9 +6,8 @@ using System.Windows; namespace BetterGenshinImpact.GameTask.Macro; /// -/// 于 4.3 版本废弃 +/// 一键强化圣遗物 /// -[Obsolete] public class QuickEnhanceArtifactMacro {