diff --git a/BetterGenshinImpact/GameTask/Model/Enum/DispatcherTimerOperationEnum.cs b/BetterGenshinImpact/GameTask/Model/Enum/DispatcherTimerOperationEnum.cs index 40b2e916..6218aeb4 100644 --- a/BetterGenshinImpact/GameTask/Model/Enum/DispatcherTimerOperationEnum.cs +++ b/BetterGenshinImpact/GameTask/Model/Enum/DispatcherTimerOperationEnum.cs @@ -8,9 +8,12 @@ public enum DispatcherTimerOperationEnum // 关闭实时触发器,自己主动获取图像 UseSelfCaptureImage, - // 使用实时触发器的缓存图模式 + // 使用实时触发器的缓存图模式,但是不执行触发器 UseCacheImage, + // 使用实时触发器的缓存图模式 + UseCacheImageWithTrigger, + // 不做任何操作 None } diff --git a/BetterGenshinImpact/GameTask/TaskRunner.cs b/BetterGenshinImpact/GameTask/TaskRunner.cs index a358d50e..b55a718c 100644 --- a/BetterGenshinImpact/GameTask/TaskRunner.cs +++ b/BetterGenshinImpact/GameTask/TaskRunner.cs @@ -108,6 +108,11 @@ public class TaskRunner TaskTriggerDispatcher.Instance().SetCacheCaptureMode(DispatcherCaptureModeEnum.OnlyCacheCapture); Thread.Sleep(TaskContext.Instance().Config.TriggerInterval * 5); // 等待缓存图像 } + else if (_timerOperation == DispatcherTimerOperationEnum.UseCacheImage) + { + TaskTriggerDispatcher.Instance().SetCacheCaptureMode(DispatcherCaptureModeEnum.CacheCaptureWithTrigger); + Thread.Sleep(TaskContext.Instance().Config.TriggerInterval * 5); // 等待缓存图像 + } } public void End() @@ -117,9 +122,10 @@ public class TaskRunner { TaskTriggerDispatcher.Instance().SetCacheCaptureMode(DispatcherCaptureModeEnum.Start); } - else if (_timerOperation == DispatcherTimerOperationEnum.UseCacheImage) + else if (_timerOperation is DispatcherTimerOperationEnum.UseCacheImage or DispatcherTimerOperationEnum.UseCacheImageWithTrigger) { - TaskTriggerDispatcher.Instance().SetCacheCaptureMode(DispatcherCaptureModeEnum.CacheCaptureWithTrigger); + TaskTriggerDispatcher.Instance().SetCacheCaptureMode(DispatcherCaptureModeEnum.NormalTrigger); + Thread.Sleep(TaskContext.Instance().Config.TriggerInterval * 5); // 等待缓存图像 } } diff --git a/BetterGenshinImpact/Script/AutoCrystalfly/main.js b/BetterGenshinImpact/Script/AutoCrystalfly/main.js index e126c261..2a14aa50 100644 --- a/BetterGenshinImpact/Script/AutoCrystalfly/main.js +++ b/BetterGenshinImpact/Script/AutoCrystalfly/main.js @@ -4,13 +4,13 @@ log.info('前往 {name}', '枫丹-塔拉塔海谷'); await genshin.tp(4328, 3960); await sleep(1000); - log.info('前往并捕捉晶蝶, {num}只', 4); + log.info('尝试捕捉晶蝶, {num}只', 4); await keyMouseScript.runFile('assets/枫丹-塔拉塔海谷.json'); log.info('前往 {name}', '枫丹-枫丹廷区'); await genshin.tp(4822, 3628); await sleep(1000); - log.info('前往并捕捉晶蝶, {num}只', 3); + log.info('尝试捕捉晶蝶, {num}只', 3); await keyMouseScript.runFile('assets/枫丹-枫丹廷区.json'); })(); \ No newline at end of file diff --git a/BetterGenshinImpact/ViewModel/Pages/ScriptControlViewModel.cs b/BetterGenshinImpact/ViewModel/Pages/ScriptControlViewModel.cs index 7499f0fb..bbab6347 100644 --- a/BetterGenshinImpact/ViewModel/Pages/ScriptControlViewModel.cs +++ b/BetterGenshinImpact/ViewModel/Pages/ScriptControlViewModel.cs @@ -349,7 +349,7 @@ public partial class ScriptControlViewModel : ObservableObject, INavigationAware _logger.LogInformation("脚本组 {Name} 加载完成,共{Cnt}个脚本,开始执行", SelectedScriptGroup.Name, projects.Count); // 循环执行所有脚本 - await new TaskRunner(DispatcherTimerOperationEnum.UseCacheImage) + await new TaskRunner(DispatcherTimerOperationEnum.UseCacheImageWithTrigger) .RunAsync(async () => { foreach (var project in projects)