From 89340c42b0edadc7e5e40a62c8c4aed9a80dcd25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Sun, 22 Sep 2024 00:01:10 +0800 Subject: [PATCH] code cleanup --- .../AutoPathing/Handler/AutoFightHandler.cs | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Handler/AutoFightHandler.cs b/BetterGenshinImpact/GameTask/AutoPathing/Handler/AutoFightHandler.cs index 095e6d7c..2e7def3c 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/Handler/AutoFightHandler.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/Handler/AutoFightHandler.cs @@ -21,30 +21,32 @@ namespace BetterGenshinImpact.GameTask.AutoPathing.Handler; internal class AutoFightHandler : IActionHandler { private readonly CombatScriptBag _combatScriptBag; - + // 780,50 778,50 public AutoFightHandler() { _combatScriptBag = CombatScriptParser.ReadAndParse(Global.Absolute(@"User\AutoFight\")); } - public Task RunAsync(CancellationTokenSource cts) + + public async Task RunAsync(CancellationTokenSource cts) { - return StartFight(cts); + await StartFight(cts); } - private Task StartFight(CancellationTokenSource _cts) + + private Task StartFight(CancellationTokenSource cts) { var combatScenes = new CombatScenes().InitializeTeam(CaptureToRectArea()); var combatCommands = _combatScriptBag.FindCombatScript(combatScenes.Avatars); - CancellationTokenSource cts = new(); - _cts.Token.Register(cts.Cancel); - combatScenes.BeforeTask(cts); + CancellationTokenSource cts2 = new(); + cts.Token.Register(cts2.Cancel); + combatScenes.BeforeTask(cts2); // 战斗操作 var combatTask = new Task(() => { try { - while (!cts.Token.IsCancellationRequested) + while (!cts2.Token.IsCancellationRequested) { // 通用化战斗策略 foreach (var command in combatCommands) @@ -66,23 +68,23 @@ internal class AutoFightHandler : IActionHandler { Logger.LogInformation("自动战斗线程结束"); } - }, cts.Token); + }, cts2.Token); // 视角操作 // 战斗结束检测 - var domainEndTask = new Task(() => { - // TODO - while (!_cts.Token.IsCancellationRequested) + var domainEndTask = new Task(() => + { + // TODO + while (!cts.Token.IsCancellationRequested) { if (checkFightFinish()) { - cts.Cancel(); + cts2.Cancel(); break; } Sleep(500); } - }); combatTask.Start(); domainEndTask.Start(); @@ -107,10 +109,7 @@ internal class AutoFightHandler : IActionHandler if (pixelColor.R == 255 && pixelColor.G == 90 && pixelColor.B == 90) { return true; - } + } return false; } - - - }