From a009aab264181c9e85c44539943bbed17f9f9ae5 Mon Sep 17 00:00:00 2001 From: huiyadanli Date: Sun, 24 Sep 2023 14:05:10 +0800 Subject: [PATCH] feat: add CaptureContent --- .../BetterGenshinImpact.csproj | 1 - .../GameTask/AutoPick/Assets/1920x1080/F.png | Bin 0 -> 503 bytes .../AutoPick/Assets/AutoPickAssets.cs | 15 ++++++ .../GameTask/AutoSkip/AutoSkipTrigger.cs | 8 +-- .../GameTask/TaskDispatcher.cs | 6 +-- .../ViewModel/MainWindowViewModel.cs | 2 +- Vision.Recognition/MaskWindow.xaml | 3 +- Vision.Recognition/MaskWindow.xaml.cs | 7 +++ Vision.Recognition/Task/CaptureContent.cs | 48 ++++++++++++++++++ Vision.Recognition/Task/ITaskTrigger.cs | 14 +---- 10 files changed, 82 insertions(+), 22 deletions(-) create mode 100644 BetterGenshinImpact/GameTask/AutoPick/Assets/1920x1080/F.png create mode 100644 BetterGenshinImpact/GameTask/AutoPick/Assets/AutoPickAssets.cs create mode 100644 Vision.Recognition/Task/CaptureContent.cs diff --git a/BetterGenshinImpact/BetterGenshinImpact.csproj b/BetterGenshinImpact/BetterGenshinImpact.csproj index 2d6a15d8..2af69aaa 100644 --- a/BetterGenshinImpact/BetterGenshinImpact.csproj +++ b/BetterGenshinImpact/BetterGenshinImpact.csproj @@ -27,7 +27,6 @@ - diff --git a/BetterGenshinImpact/GameTask/AutoPick/Assets/1920x1080/F.png b/BetterGenshinImpact/GameTask/AutoPick/Assets/1920x1080/F.png new file mode 100644 index 0000000000000000000000000000000000000000..5447da44c14d0414645987f466a5a22513ddbc8d GIT binary patch literal 503 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0gOpRK~zXf<(9pQ z!ax*8_nG_&2o}D8r6HgQ_6ni_u?zSDcD8nsO0=>Q)FMd4LIO5|78V8(Ed)i(w@kRm z?glbrT-g;5e1vdwCx_&c%m@CM|1WU8UU4`auv)FKTrRm`*KN03>gK~0I3ADa_xn&) z75RLgn?j+0dc6+YwrK@_xB}<%8ME08l}ZJnP)I20bQ;s?lveOZXa-KF6T00l!r`!c z19p^U8M>~2ORLpFqtQUERzt7Xqi%nMhj1_$AR3L{1d7F?`*gmBiSBkg%;$3~77Ob1 zM_6Du972+$n?R{lqKX&Caoph*;VA<5@VWw-OvW9wpBart*lae`#V3#eOFSM&DwXnt z4X0rk)Ws*TKq8SqHk(yQP6BQg*O~Lgay{?H9DOR#^do_ tTP_~L0_^vCxm@V%_Yf9%7Vj 0, Y: > 0 }) { + //_logger.LogInformation($"找到剧情自动按钮:{p1}"); VisionContext.Instance().DrawContent.PutRect("StopAutoButton", p1.CenterPointToRect(AutoSkipAssets.StopAutoButtonMat)); new InputSimulator().Keyboard.KeyPress(VirtualKeyCode.SPACE); diff --git a/BetterGenshinImpact/GameTask/TaskDispatcher.cs b/BetterGenshinImpact/GameTask/TaskDispatcher.cs index 45cb86ff..4cad6d50 100644 --- a/BetterGenshinImpact/GameTask/TaskDispatcher.cs +++ b/BetterGenshinImpact/GameTask/TaskDispatcher.cs @@ -98,17 +98,17 @@ namespace BetterGenshinImpact.GameTask } // 循环执行所有触发器 有独占状态的触发器的时候只执行独占触发器 - var mat = bitmap.ToMat(); + var content = new CaptureContent(bitmap, _frameIndex); var exclusiveTrigger = _triggers.FirstOrDefault(t => t is { IsEnabled: true, IsExclusive: true }); if (exclusiveTrigger != null) { - exclusiveTrigger.OnCapture(mat, _frameIndex); + exclusiveTrigger.OnCapture(content); } else { foreach (var trigger in _triggers.Where(trigger => trigger.IsEnabled)) { - trigger.OnCapture(mat, _frameIndex); + trigger.OnCapture(content); } } } diff --git a/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs b/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs index 1d7e9aef..4126e548 100644 --- a/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs +++ b/BetterGenshinImpact/ViewModel/MainWindowViewModel.cs @@ -119,7 +119,7 @@ namespace BetterGenshinImpact.ViewModel _maskWindow.Top = y; _maskWindow.Width = w; _maskWindow.Height = h; - + _maskWindow.Logger = App.GetLogger(); _maskWindow.Show(); _logger.LogInformation("Mask Window showed 遮罩窗口启动成功"); diff --git a/Vision.Recognition/MaskWindow.xaml b/Vision.Recognition/MaskWindow.xaml index f34b2904..c17a6d1d 100644 --- a/Vision.Recognition/MaskWindow.xaml +++ b/Vision.Recognition/MaskWindow.xaml @@ -54,7 +54,8 @@ Foreground="LightGray" FontFamily="Cascadia Mono, Consolas, Courier New, monospace" BorderThickness="0" - VerticalScrollBarVisibility="Auto" /> + VerticalScrollBarVisibility="Hidden" Margin="0,0,-258,10"> +