mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-05-09 00:34:14 +08:00
fix js pathingScript
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using System.Threading.Tasks;
|
||||
using System.Text.Json;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing.Model;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BetterGenshinImpact.Core.Script.Dependence;
|
||||
|
||||
@@ -9,11 +8,7 @@ public class AutoPathingScript(string rootPath)
|
||||
{
|
||||
public async Task Run(string json)
|
||||
{
|
||||
var task = JsonSerializer.Deserialize<PathingTask>(json);
|
||||
if (task == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var task = PathingTask.BuildFromJson(json);
|
||||
await new PathExecutor(CancellationContext.Instance.Cts).Pathing(task);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,12 @@ public class PathingTask
|
||||
return task;
|
||||
}
|
||||
|
||||
public static PathingTask BuildFromJson(string json)
|
||||
{
|
||||
var task = JsonSerializer.Deserialize<PathingTask>(json, PathRecorder.JsonOptions) ?? throw new Exception("Failed to deserialize PathingTask");
|
||||
return task;
|
||||
}
|
||||
|
||||
public void SaveToFile(string filePath)
|
||||
{
|
||||
var json = JsonSerializer.Serialize(this, PathRecorder.JsonOptions);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
using BetterGenshinImpact.Core.Simulator;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing.Handler;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing.Model;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing.Model.Enum;
|
||||
using BetterGenshinImpact.GameTask.AutoTrackPath;
|
||||
using BetterGenshinImpact.GameTask.Common.BgiVision;
|
||||
using BetterGenshinImpact.GameTask.Common.Map;
|
||||
using BetterGenshinImpact.GameTask.Model.Area;
|
||||
using CommunityToolkit.Mvvm.Messaging;
|
||||
using CommunityToolkit.Mvvm.Messaging.Messages;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -15,7 +15,6 @@ using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using BetterGenshinImpact.GameTask.AutoPathing.Handler;
|
||||
using Vanara.PInvoke;
|
||||
using static BetterGenshinImpact.GameTask.Common.TaskControl;
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ public class TpTask(CancellationTokenSource cts)
|
||||
// Debug.WriteLine($"({x},{y}) 在 {bigMapInAllMapRect} 内,计算它在窗体内的位置");
|
||||
// 注意这个坐标的原点是中心区域某个点,所以要转换一下点击坐标(点击坐标是左上角为原点的坐标系),不能只是缩放
|
||||
var (clickX, clickY) = ConvertToGameRegionPosition(bigMapInAllMapRect, x, y);
|
||||
Logger.LogInformation("点击传送点:({X},{Y})", clickX, clickY);
|
||||
Logger.LogInformation("点击传送点");
|
||||
using var ra = CaptureToRectArea();
|
||||
ra.ClickTo((int)clickX, (int)clickY);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user