Commit Graph

363 Commits

Author SHA1 Message Date
辉鸭蛋
779fbaad86 add refresh context menu #627
添加刷新命令菜单项及刷新方法

在 `JsListPage.xaml` 和 `MapPathingPage.xaml` 中,添加了新的菜单项 `<MenuItem>`,用于绑定 `RefreshCommand` 命令,并设置了相应的 `CommandParameter` 和 `Header` 属性。

在 `JsListViewModel.cs` 中,添加了 `using BetterGenshinImpact.GameTask.AutoPathing.Model;` 语句,并修改了 `OnOpenScriptProjectFolder` 方法,将 `item` 为 `null` 时的处理逻辑改为使用 `scriptPath`。

在 `JsListViewModel.cs` 和 `MapPathingViewModel.cs` 中,添加了 `OnRefresh` 方法,该方法通过调用 `InitScriptListViewData` 来刷新脚本列表视图数据。
2024-09-16 10:52:34 +08:00
辉鸭蛋
12d4c60f7a fix absolute path for pathing in dispatcher 2024-09-15 19:34:40 +08:00
辉鸭蛋
8d2b36d5fd refactor: script run 2024-09-10 23:27:04 +08:00
辉鸭蛋
57d2257283 fix map hotkey not save 2024-09-10 00:20:07 +08:00
辉鸭蛋
1657beb9a8 fix open map viewer 2024-09-10 00:01:04 +08:00
辉鸭蛋
1829498647 update ui
更新文本提示和超链接,修改热键名称

在 `JsListPage.xaml` 文件中,更新了文本内容,增加了“建议在调度器中使用!”的提示。
在 `MapPathingPage.xaml` 文件中,更新了文本内容,增加了“建议在调度器中使用!”的提示,并添加了一个超链接,指向地图追踪使用教程。
在 `HotKeyPageViewModel.cs` 文件中,将热键设置模型的名称从“添加记录点”更改为“添加路径点”。
在 `MapPathingViewModel.cs` 文件中,新增了一个 `OnGoToPathingUrl` 方法,该方法通过超链接打开地图追踪使用教程的网页。
2024-09-09 23:19:07 +08:00
辉鸭蛋
4e6190ac7b fixed #598 2024-09-09 22:42:35 +08:00
辉鸭蛋
a06f0fcdb2 auto pathing: fix not releasing the mouse and keyboard when stopping tasks
更新日志和黑名单

移除 `PathExecutor.cs` 中的无用引用,重构 `Pathing` 方法,添加 `InitializePathing` 和 `ConvertWaypoints` 方法,提取传送点处理逻辑到 `HandleTeleportWaypoint` 方法。修改 `TpTask.cs` 中的日志格式为浮点数格式。将 `TaskRunner.cs` 中的 `FireAndForgetAsync` 方法重命名为 `RunThreadAsync`,并在 `ScriptService.cs` 中相应替换调用。为 `DpiHelper.cs` 中的 `ScaleY` 属性添加注释。更新 `pick_black_lists.json`,添加新的黑名单项 `"摆放巧像"`。在 `MapPathingViewModel.cs` 中添加 `_mapViewer` 字段,并在 `OnOpenMapViewer` 方法中使用。
2024-09-09 21:57:48 +08:00
辉鸭蛋
220d6a4f9b fix multi thread ui bug & rotate with dpi
优化 DPI 处理和异步任务执行

在 `PathExecutor.cs` 中,添加了对 `BetterGenshinImpact.Helpers` 的引用,并引入了 `DpiHelper` 来调整 `_dpi` 变量。
在 `PathExecutor` 类中,添加了 `_dpi` 变量,并在 `Pathing` 方法中初始化 `_dpi` 为 `DpiHelper.ScaleY`。
修改了 `RotateTo` 方法的 `controlRatio` 参数类型,从 `int` 改为 `double`,并在调用 `Simulation.SendInput.Mouse.MoveMouseBy` 时乘以 `_dpi` 进行 DPI 缩放。
在 `TaskRunner.cs` 中,添加了 `FireAndForgetAsync` 方法,用于异步执行任务。
在 `ScriptService.cs` 中,添加了对 `BetterGenshinImpact.Helpers` 的引用。
修改了 `ScriptService` 类中调用 `TaskRunner` 的方式,从 `RunAsync` 改为 `FireAndForgetAsync`。
在 `ScriptControlViewModel.cs` 中,简化了调用 `_scriptService.RunMulti` 的方式,去掉了多余的 `Task.Run` 包装。
2024-09-09 00:44:24 +08:00
辉鸭蛋
d6860d5294 0.34.0 2024-09-08 23:36:53 +08:00
辉鸭蛋
c37c43ce92 dispatcher supprot pathing script
调度器支持路径追踪功能及多项代码优化

在 `ScriptGroupProject.cs` 中:
- 添加对多个命名空间的引用。
- 修改构造函数,增加 `folder` 和 `type` 参数,删除 `kmName` 参数。
- 添加 `BuildKeyMouseProject` 和 `BuildPathingProject` 静态方法。
- 在 `Run` 方法中增加 `Pathing` 类型处理逻辑。
- 在 `ScriptGroupProjectExtensions` 中增加 `Pathing` 类型描述。

在 `PathingTask.cs` 中:
- 添加 `FileName` 属性,并在 `BuildFromFilePath` 方法中设置。

在 `Navigation.cs` 中:
- 将 `Navigation` 类改为 `public`。
- 添加 `_isWarmUp` 静态字段,防止重复加载地图特征点。
- 将 `GetPosition`、`GetTargetOrientation` 和 `GetDistance` 方法改为 `public`。

在 `GameTaskManager.cs` 中:
- 在 `AddTrigger` 方法中添加注释,指出清理 `TriggerDictionary` 的问题。

在 `ScriptService.cs` 中:
- 在 `RunMulti` 方法中增加 `hasTimer` 变量,并在处理 `Pathing` 类型时设置。
- 修改 `RunMulti` 方法逻辑,确保无定时操作时检查 JS 脚本。
- 在 `Run` 方法中增加 `Pathing` 类型处理逻辑。

在 `MapPathingPage.xaml` 中:
- 注释掉第四列定义和相关 `Grid` 元素。
- 修改 `ListView` 中 `GridViewColumn` 的 `DisplayMemberBinding`。

在 `ScriptControlPage.xaml` 中:
- 在 `ContextMenu` 中添加新的 `MenuItem`,用于添加路径追踪任务。

在 `PromptDialog.xaml.cs` 中:
- 添加新的 `Prompt` 方法,允许指定对话框大小。
- 修改 `ResponseText` 属性逻辑,增加默认返回值。

在 `MapPathingViewModel.cs` 中:
- 调整 `using` 语句顺序,删除重复引用。

在 `ScriptControlViewModel.cs` 中:
- 修改 `OnAddKmScript` 方法,使用 `BuildKeyMouseProject` 方法创建键鼠脚本项目。
- 添加 `OnAddPathing` 方法及其辅助方法,用于添加路径追踪任务。
- 在 `RunSelectedScriptGroup` 方法中,将脚本运行逻辑放入 `Task.Run` 中,避免阻塞 UI 线程。
2024-09-08 23:17:48 +08:00
辉鸭蛋
5984adf015 auto pathing: add pick timer
更新地图特征点路径和UI文本,地图追踪时添加自动拾取

在 `FeatureStorage.cs` 中,将 `rootPath` 的路径从 `Global.Absolute(@"User\Map\");` 修改为 `Global.Absolute(@"Assets\Map\");`。
在 `Navigation.cs` 中,更新了日志信息的内容,使其更加明确首次加载速度较慢。
在 `BigMap.cs` 中,将 `FeatureMatcher` 的初始化参数从 `MapAssets.Instance.MainMap256BlockMat.Value` 修改为 `new Size(4096, 3328)`。
在 `MapPathingPage.xaml` 中,更新了部分 UI 文本,使其更加准确和清晰。例如,将“查看地图”修改为“查看实时追踪地图”,并在功能描述中添加了“尝鲜”字样。
在 `MapPathingPage.xaml` 中,注释掉了一个 `GridViewColumn`,该列包含了一个操作按钮。
在 `MapPathingViewModel.cs` 中,添加了 `using BetterGenshinImpact.Core.Script.Dependence.Model;` 引用。
在 `MapPathingViewModel.cs` 中,修改了 `TaskRunner` 的初始化参数,并在执行路径任务前添加了一个触发器。
在 `PickHandler.cs` 中,添加了一个新的类 `PickHandler`,并标记为 `[Obsolete]`,表示该类暂时不需要。
2024-09-08 20:28:50 +08:00
辉鸭蛋
4276957837 tp opt & F11 can cancel script task
优化日志记录和任务取消逻辑

在 `PathExecutor.cs` 中添加了 `using System.Diagnostics;` 语句。
注释掉了 `PathExecutor` 类中的部分日志信息。
将 `MoveTo` 和 `MoveCloseTo` 方法中的日志记录改为使用 `Debug.WriteLine`。
修改了 `MoveTo` 和 `MoveCloseTo` 方法中的循环条件,改为 `while (!cts.IsCancellationRequested)`。
将 `MoveTo` 方法中的超时时间从 30 秒改为 60 秒。
在 `TpTask.cs` 中增加了对配置项的最小值检查。
在 `MapAssets.cs` 中添加了新的地图坐标 `{ "纳塔", [8973.5, -1879.1] }`。
在 `HomePageViewModel.cs` 中添加了 `using BetterGenshinImpact.Core.Script;` 语句。
在 `HomePageViewModel` 类的 `Stop` 方法中,添加了取消独立任务的逻辑。
2024-09-08 19:44:34 +08:00
辉鸭蛋
a0691f1c19 auto pathing: add mapper viewer 2024-09-08 19:08:46 +08:00
辉鸭蛋
ca6994a720 auto pathing : first version 2024-09-08 15:16:02 +08:00
辉鸭蛋
1fd5320df2 auto pathing: update
- 移除了不必要的 `using` 语句,添加了新的 `using` 语句。
- 将 `Waypoints` 属性重命名为 `Positions`。
- 更新了 `BuildFromFilePath` 方法中的 `JsonOptions` 引用。
- 将 `Waypoint` 类移到单独的文件中,并添加了相关属性和注释。
- 添加了 `SaveToFile` 方法,用于将 `PathingTask` 对象保存到文件。
- 更新了 `PathExecutor` 中的 `TaskControl` 引用,简化了代码。
- 更新了 `PathRecorder` 的属性和方法,使用私有字段 `_pathingTask`。
- 更新了 `MapPathingPage.xaml` 的命令绑定。
- 更新了 `HotKeyPageViewModel` 和 `MapPathingViewModel` 的逻辑。
- 添加了新的 `PathingTaskConfig` 类,用于配置路径任务。
2024-09-08 02:23:45 +08:00
辉鸭蛋
5818bcd7ed refactor the path task-related code, using the new enum class
在 `PathingTask.cs`、`PathExecutor.cs` 和 `PathRecorder.cs` 中,删除了 `WaypointType`、`MoveType`、`ActionType` 和 `PathingTaskType` 枚举,并将其替换为 `Enum` 命名空间中的类。更新了 `PathingTaskInfo` 类的属性默认值和新增属性。在 `PathExecutor.cs` 中,使用 `.Code` 属性进行比较,并优化了 `prevPositions` 列表的索引。在 `HotKeyPageViewModel.cs` 中,重命名了变量并更新了回调函数。在 `ActionEnum.cs`、`MoveStatusType.cs`、`PathingTaskType.cs` 和 `WaypointType.cs` 中,定义了新的枚举类及其静态实例和相关方法。
2024-09-07 14:53:25 +08:00
辉鸭蛋
93250f84cf update UI experience
在 `App.xaml` 中添加了 `BooleanToEnableTextConverter` 转换器。
在 `ScriptControlPage.xaml` 中:
  * 更新了文本描述,增加了对配置组排序的说明。
  * 添加了一个新的 `TextBlock` 和 `Button`,用于新增配置组。
  * 将“启用状态”列从简单的文本显示改为 `ToggleSwitch` 控件,并使用 `BooleanToEnableTextConverter` 进行绑定。
  * 将 `ListBox.ContextMenu` 更改为 `ListView.ContextMenu`。
  * 为“修改JS脚本自定义配置”菜单项添加了样式和触发器,以根据脚本类型动态显示或隐藏。
在 `ScriptControlViewModel.cs` 中:
  * 添加了 `System.ComponentModel` 的引用。
  * 注释掉了 `WriteScriptGroup` 的循环调用。
  * 修改了 `ShowEditWindow` 方法,将关闭按钮文本从“确定”改为“关闭”。
  * 在 `EditJsScriptSettings` 方法中,添加了对 `LoadSettingUi` 返回值的检查,并在未提供自定义配置时显示警告。
  * 在 `ScriptProjectsCollectionChanged` 方法中,添加了对项目属性变化的事件处理。
  * 添加了 `ScriptProjectsPChanged` 方法,用于处理项目属性变化事件。
  * 更新了 `OnGoToScriptGroupUrl` 方法中的 URL。
新增了 `BooleanToEnableTextConverter.cs` 文件,实现了 `BooleanToEnableTextConverter` 转换器,用于将布尔值与启用状态文本进行转换。
2024-09-07 12:31:07 +08:00
辉鸭蛋
010beebcb6 add open fight script command #569 2024-09-06 00:35:31 +08:00
辉鸭蛋
3430e116e3 auto tp: retry after failed map recognition 2024-09-02 01:38:01 +08:00
辉鸭蛋
7c1febf307 add pathing ui 2024-09-01 20:15:47 +08:00
辉鸭蛋
5955f90c03 update pathing page 2024-09-01 02:10:13 +08:00
辉鸭蛋
bb6aa9e121 auto skip: add pause text #552 2024-08-26 23:17:35 +08:00
辉鸭蛋
b68b0d85f6 Js -> JS 2024-08-24 02:28:31 +08:00
辉鸭蛋
7f03157c25 add GetBigMapPosHotkey 2024-08-24 02:22:52 +08:00
辉鸭蛋
461b0b00d1 add JS script dynamic settings 2024-08-24 02:13:46 +08:00
ema
24d798d6b2 UI/UX: use MessageBox from Violeta 2024-08-20 23:46:29 +08:00
辉鸭蛋
64c5ab78bc Merge branch 'main' into main 2024-08-20 01:15:55 +08:00
辉鸭蛋
c370410d53 add runner 2024-08-20 01:04:59 +08:00
辉鸭蛋
98b1376111 0.33.1 2024-08-19 23:14:55 +08:00
辉鸭蛋
b62e4a7425 add script group editor 2024-08-18 21:41:12 +08:00
辉鸭蛋
0097bfa8c3 edit auto crystalfly script 2024-08-17 20:23:29 +08:00
辉鸭蛋
6812f30732 optimize script execution 2024-08-17 18:00:03 +08:00
辉鸭蛋
c6680ced12 add js script page 2024-08-17 16:02:54 +08:00
ema
9b874d3747 small trial with using Toast instead of MessageBox 2024-08-16 00:43:32 +08:00
辉鸭蛋
2b6465be22 edit kmscript name 2024-08-16 00:38:41 +08:00
辉鸭蛋
8b0bdef670 edit script group name 2024-08-15 23:55:57 +08:00
辉鸭蛋
f904fe024b Merge remote-tracking branch 'origin/main' into pr/522 2024-08-14 21:57:11 +08:00
qhy040404
c490d29aa1 code cleanup 2024-08-14 18:01:02 +08:00
lwh9346
d148014b7f testing code 2024-08-14 16:11:13 +08:00
ema
4626863f30 fix #446 2024-08-12 00:23:43 +08:00
辉鸭蛋
ed9a47a3a1 fix dispather thread safe 2024-08-11 20:14:32 +08:00
辉鸭蛋
8fa071722e js : dispatcher.addTimer 2024-08-11 17:58:22 +08:00
辉鸭蛋
2c2e9c0303 supplement the mode of the runner 2024-08-11 10:41:01 +08:00
辉鸭蛋
a7153a47f6 auto crystalfly init 2024-08-11 02:32:00 +08:00
辉鸭蛋
26aa811e97 add script group runner 2024-08-11 00:09:25 +08:00
辉鸭蛋
00f822c49d switch to ground when big map in underground 2024-08-10 23:14:08 +08:00
辉鸭蛋
0edf6c13ef script group ui3 2024-08-10 21:18:48 +08:00
辉鸭蛋
ad288c60cc script group ui 2 2024-08-10 19:16:35 +08:00
辉鸭蛋
308d398036 script group ui 2024-08-10 13:37:29 +08:00