Files
better-genshin-impact/BetterGenshinImpact/GameTask/AutoPathing/Handler/CombatScriptHandler.cs
辉鸭蛋 7853901137 log text optimization
文本优化(战斗策略文件不存在、sendInput被拦截、路径追踪中战斗策略日志打印修改)
2025-01-09 23:58:28 +08:00

65 lines
2.0 KiB
C#

using System;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using BetterGenshinImpact.Core.Config;
using BetterGenshinImpact.GameTask.AutoPathing.Model;
using Microsoft.Extensions.Logging;
using static BetterGenshinImpact.GameTask.Common.TaskControl;
namespace BetterGenshinImpact.GameTask.AutoPathing.Handler;
public class CombatScriptHandler : IActionHandler
{
public async Task RunAsync(CancellationToken ct, WaypointForTrack? waypointForTrack = null, object? config = null)
{
if (waypointForTrack is { CombatScript: not null })
{
Logger.LogInformation("执行 {Text}", "简易策略脚本");
var combatScript = waypointForTrack.CombatScript;
var combatScenes = await RunnerContext.Instance.GetCombatScenes(ct);
if (combatScenes == null)
{
Logger.LogError("队伍识别未初始化成功!");
return;
}
try
{
// 通用化战斗策略
foreach (var command in combatScript.CombatCommands)
{
command.Execute(combatScenes);
}
}
catch (Exception e)
{
Debug.WriteLine(e.Message);
Debug.WriteLine(e.StackTrace);
}
}
else
{
Logger.LogError("策略脚本action_params内容为空");
}
}
// private static bool IsOnlyCurrentAvatar(CombatScript combatScript)
// {
// var isCurrentAvatar = false;
// if (combatScript.AvatarNames.Count == 1)
// {
// foreach (var avatarName in combatScript.AvatarNames)
// {
// if (avatarName == CombatScriptParser.CurrentAvatarName)
// {
// isCurrentAvatar = true;
// break;
// }
// }
// }
//
// return isCurrentAvatar;
// }
}