From b4e6565443fcd265fdfeb466e575a46fde3d5919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Wed, 16 Oct 2024 00:54:56 +0800 Subject: [PATCH] normal attack & elemental_skill --- .../AutoPathing/Handler/ActionFactory.cs | 2 ++ .../Handler/ElementalSkillHandler.cs | 19 +++++++++++++++++++ .../Handler/NormalAttackHandler.cs | 19 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 BetterGenshinImpact/GameTask/AutoPathing/Handler/ElementalSkillHandler.cs create mode 100644 BetterGenshinImpact/GameTask/AutoPathing/Handler/NormalAttackHandler.cs diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Handler/ActionFactory.cs b/BetterGenshinImpact/GameTask/AutoPathing/Handler/ActionFactory.cs index 03a5e326..c8ee2eb6 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/Handler/ActionFactory.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/Handler/ActionFactory.cs @@ -16,6 +16,8 @@ public class ActionFactory "nahida_collect" => new NahidaCollectHandler(), "pick_around" => new PickAroundHandler(), "fight" => new AutoFightHandler(), + "normal_attack" => new NormalAttackHandler(), + "elemental_skill" => new ElementalSkillHandler(), _ => throw new ArgumentException("未知的 action 类型") }; }); diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Handler/ElementalSkillHandler.cs b/BetterGenshinImpact/GameTask/AutoPathing/Handler/ElementalSkillHandler.cs new file mode 100644 index 00000000..7ee9465c --- /dev/null +++ b/BetterGenshinImpact/GameTask/AutoPathing/Handler/ElementalSkillHandler.cs @@ -0,0 +1,19 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using BetterGenshinImpact.Core.Simulator; +using Vanara.PInvoke; + +namespace BetterGenshinImpact.GameTask.AutoPathing.Handler; + +/// +/// 触发元素战技 +/// +public class ElementalSkillHandler : IActionHandler +{ + public Task RunAsync(CancellationTokenSource cts) + { + Simulation.SendInput.Keyboard.KeyPress(User32.VK.VK_E); + return Task.CompletedTask; + } +} diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Handler/NormalAttackHandler.cs b/BetterGenshinImpact/GameTask/AutoPathing/Handler/NormalAttackHandler.cs new file mode 100644 index 00000000..6c789d71 --- /dev/null +++ b/BetterGenshinImpact/GameTask/AutoPathing/Handler/NormalAttackHandler.cs @@ -0,0 +1,19 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using BetterGenshinImpact.Core.Simulator; +using Vanara.PInvoke; + +namespace BetterGenshinImpact.GameTask.AutoPathing.Handler; + +/// +/// 触发元素战技 +/// +public class NormalAttackHandler : IActionHandler +{ + public Task RunAsync(CancellationTokenSource cts) + { + Simulation.SendInput.Mouse.LeftButtonClick(); + return Task.CompletedTask; + } +}