From 3d63f18831f03da05c5fece3ea3dd7e7aa5dee8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Sat, 23 Nov 2024 22:09:43 +0800 Subject: [PATCH] auto skip: background opt --- .../GameTask/AutoSkip/AutoSkipTrigger.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs b/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs index 183b1d57..dcfaadbc 100644 --- a/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs +++ b/BetterGenshinImpact/GameTask/AutoSkip/AutoSkipTrigger.cs @@ -40,6 +40,8 @@ public partial class AutoSkipTrigger : ITaskTrigger public bool IsExclusive => false; public bool IsBackgroundRunning { get; private set; } + + public bool UseBackgroundOperation { get; private set; } public bool IsUseInteractionKey { get; set; } = false; @@ -138,6 +140,7 @@ public partial class AutoSkipTrigger : ITaskTrigger { return; } + UseBackgroundOperation = IsBackgroundRunning && !SystemControl.IsGenshinImpactActive(); _prevExecute = DateTime.Now; @@ -189,7 +192,7 @@ public partial class AutoSkipTrigger : ITaskTrigger // 对话选项选择 bool hasOption; - if (IsBackgroundRunning || IsUseInteractionKey) + if (UseBackgroundOperation || IsUseInteractionKey) { hasOption = ChatOptionChooseUseKey(content.CaptureRectArea); } @@ -232,7 +235,7 @@ public partial class AutoSkipTrigger : ITaskTrigger var rate = blackCount * 1d / (grayMat.Width * grayMat.Height); if (rate is >= 0.5 and < 0.98999) { - if (IsBackgroundRunning) + if (UseBackgroundOperation) { TaskContext.Instance().PostMessageSimulator?.LeftButtonClickBackground(); } @@ -331,7 +334,7 @@ public partial class AutoSkipTrigger : ITaskTrigger using var skipRa = captureRegion.Find(_autoSkipAssets.HangoutSkipRo); if (skipRa.IsExist()) { - if (IsBackgroundRunning && !SystemControl.IsGenshinImpactActive()) + if (UseBackgroundOperation && !SystemControl.IsGenshinImpactActive()) { skipRa.BackgroundClick(); } @@ -612,7 +615,7 @@ public partial class AutoSkipTrigger : ITaskTrigger Thread.Sleep(_config.AfterChooseOptionSleepDelay); } - if (IsBackgroundRunning && !SystemControl.IsGenshinImpactActive()) + if (UseBackgroundOperation && !SystemControl.IsGenshinImpactActive()) { region.BackgroundClick(); } @@ -631,7 +634,7 @@ public partial class AutoSkipTrigger : ITaskTrigger Thread.Sleep(_config.AutoHangoutChooseOptionSleepDelay); } - if (IsBackgroundRunning && !SystemControl.IsGenshinImpactActive()) + if (UseBackgroundOperation && !SystemControl.IsGenshinImpactActive()) { option.BackgroundClick(); }