From 5f18901e2283fefc252bc1097de5bd44303f4aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E4=BA=91?= Date: Sat, 11 Jan 2025 01:58:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B7=AF=E5=BE=84=E8=BF=BD?= =?UTF-8?q?=E8=B8=AA=E4=B8=AD=E8=BE=93=E5=87=BA=E6=97=A5=E5=BF=97=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameTask/AutoPathing/Model/Enum/ActionEnum.cs | 1 + .../GameTask/AutoPathing/Model/WaypointForTrack.cs | 6 ++++++ BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Model/Enum/ActionEnum.cs b/BetterGenshinImpact/GameTask/AutoPathing/Model/Enum/ActionEnum.cs index c9f8b9c8..26523d6c 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/Model/Enum/ActionEnum.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/Model/Enum/ActionEnum.cs @@ -18,6 +18,7 @@ public class ActionEnum(string code, string msg) public static readonly ActionEnum CombatScript = new("combat_script", "战斗策略脚本"); // 这个必须要 action_params 里面有脚本 public static readonly ActionEnum Mining = new("mining", "挖矿"); + public static readonly ActionEnum LogOutput = new("log_output", "输出日志"); // 还有要加入的其他动作 // 滚轮F diff --git a/BetterGenshinImpact/GameTask/AutoPathing/Model/WaypointForTrack.cs b/BetterGenshinImpact/GameTask/AutoPathing/Model/WaypointForTrack.cs index 7c46626e..54db5dd2 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/Model/WaypointForTrack.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/Model/WaypointForTrack.cs @@ -2,6 +2,7 @@ using System; using BetterGenshinImpact.GameTask.AutoFight.Script; using BetterGenshinImpact.GameTask.AutoPathing.Model.Enum; +using System.Diagnostics.Eventing.Reader; namespace BetterGenshinImpact.GameTask.AutoPathing.Model; @@ -22,6 +23,7 @@ public class WaypointForTrack : Waypoint /// 存在 combat_script 的 action 的话,这个值会存在 /// public CombatScript? CombatScript { get; set; } + public string? LogInfo { get; set; } public WaypointForTrack(Waypoint waypoint) { @@ -40,5 +42,9 @@ public class WaypointForTrack : Waypoint { CombatScript = CombatScriptParser.ParseContext(str, false); } + if (waypoint.Action == ActionEnum.LogOutput.Code && waypoint.ActionParams is not null) + { + LogInfo = waypoint.ActionParams; + } } } diff --git a/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs b/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs index 8c528b94..e0945d50 100644 --- a/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs +++ b/BetterGenshinImpact/GameTask/AutoPathing/PathExecutor.cs @@ -169,6 +169,10 @@ public class PathExecutor CurWaypoint = (waypoints.FindIndex(wps => wps == waypoint), waypoint); TryCloseSkipOtherOperations(); await RecoverWhenLowHp(waypoint); // 低血量恢复 + if (waypoint.Action == ActionEnum.LogOutput.Code) + { + Logger.LogInformation(waypoint.LogInfo); + } if (waypoint.Type == WaypointType.Teleport.Code) { await HandleTeleportWaypoint(waypoint);