Commit Graph

3342 Commits

Author SHA1 Message Date
辉鸭蛋
3dcc9dde70 feat: 新增采集与锄地一键采集工具页面
新增采集与锄地专用功能页面,支持通过素材名称匹配本地地图追踪任务并一键执行,具体改动如下:
- 新增GatheringAndFarmingPage视图与对应ViewModel,包含角色、食材与特产、掉落物、矿石四个标签页
- 在主窗口导航栏添加采集与锄地页面入口,并将页面注册到应用依赖注入容器
- 优化齿轮任务系统,添加任务组配置属性,实现配置修改自动保存,完善脚本执行参数传递逻辑
- 在任务列表页面新增任务组设置按钮与配置弹窗
- 修复部分代码格式与缩进问题,调整命名空间引用顺序
2026-05-18 02:02:29 +08:00
辉鸭蛋
5f9b8276dc Revert "任务组设置,未review"
This reverts commit 146d455c60.
2026-05-18 01:28:17 +08:00
辉鸭蛋
3cded96c33 Merge branch 'main' into d-v3
# Conflicts:
#	BetterGenshinImpact/BetterGenshinImpact.csproj
2026-05-18 00:49:07 +08:00
cookie981
753c595625 fix:一键宏停止时立即松开所有按键 (#3126) 2026-05-17 23:10:24 +08:00
辉鸭蛋
146d455c60 任务组设置,未review 2026-05-16 22:45:46 +08:00
DarkFlameMaster
88bd60ab93 feat(BvLocator): 使重试回调支持异步方法,添加设置超时和重试间隔的方法 (#3117)
* feat(BvLocator): 使重试回调支持异步方法

* feat(BvLocator): 支持自定义超时和重试间隔

新增WithTimeout和WithRetryInterval链式调用方法

* 可能是bug?

* fix
2026-05-12 22:03:35 +08:00
DarkFlameMaster
36669b89ef feat: 增加 HTML 遮罩窗口点击穿透模式切换功能 (#3100)
* 增加html遮罩点击穿透模式的切换

* fix:修两个小问题

* 切换穿透状态时自动切换焦点

* feat:停止脚本自动关闭html遮罩,并修复衍生问题
2026-05-12 01:43:34 +08:00
ema
70b3f6dd99 修复出错啦窗口显示版本号错误问题 (#3116) 2026-05-12 01:43:03 +08:00
辉鸭蛋
e0bdc3a720 历史记录 2026-05-11 22:38:26 +08:00
DarkFlameMaster
6996356251 feat(脚本引擎): 提供对 战斗策略 目录的访问 (#3111)
* feat(脚本引擎): 提供对 战斗策略 目录的访问

* 移除目录不存在时创建的逻辑

* feat: 新增CreateDirectory方法用于创建指定路径的目录
2026-05-11 10:27:28 +08:00
躁动的氨气
359bdb899e feat: 单轮旋转直接取最近目标 (#3114) 2026-05-11 10:12:01 +08:00
泠色
ec39fc980e 想打完每日再亲自过一下剧情。。。。 (#3115) 2026-05-11 10:11:40 +08:00
辉鸭蛋
7f7a34e9ba feat(gear-task): 引入事件驱动的任务执行与历史记录系统
- 新增 IGearTaskEventBus 接口及默认实现,用于解耦执行器与记录器、UI 投影等消费者
- 新增 IGearTaskResumable 接口,支持任务节点内部恢复(如 Pathing 任务可恢复至特定路径点)
- 重构任务执行流程,使用 GearTaskExecutionRunner 替代旧的 GearTaskExecutionManager
- 实现基于磁盘 JSON 的历史记录存储(IGearTaskHistoryStore),支持执行记录的保存、加载与清理
- 为 PathingGearTask 添加恢复能力,通过 PathingGearTaskResumeState 记录断点状态
- 在 PathExecutor 中集成运行时事件通知,支持路径点进入、完成、传送等事件的发布
- 统一执行事件模型(GearTaskExecutionEvent),包含任务定义、节点路径、时间戳等元数据
- 服务注册更新,使用新的执行器、事件总线、历史记录器等组件
2026-05-11 01:57:29 +08:00
辉鸭蛋
6cdc67c9c3 UI优化 2026-05-10 23:56:49 +08:00
辉鸭蛋
20851919ea UI美化 2026-05-10 20:36:10 +08:00
辉鸭蛋
1dea108516 触发器UI美化 2026-05-10 15:23:05 +08:00
火山
8d502d76c1 [优化] 重构万叶战后长E拾取逻辑:提取公共输入时序、增强防卡键保护及OCR释放校验 (#3108)
* 修改万叶的模拟战技与普攻输入操作

将高层的技能释放 / 普通攻击函数调用,替换为明确的模拟输入时序流程,以提升运行稳定性。
改动内容:
AutoFightTask(自动战斗任务)
元素战技采用鼠标 / 按键按下 + 松开时序模拟(长按后松开);将原有三次普通攻击调用,改为6 次鼠标左键按下 / 松开循环,并优化了间隔延时。
AutoLeyLineOutcropTask(自动地脉之花任务)
对万叶长按元素战技(长 E)做同款重构:模拟按键按下 / 松开动作,新增对元素战技冷却区域的视觉 / OCR 识别校验以确认技能已释放;截取冷却区域数据并调用技能后置回调函数,同时沿用 6 次普攻循环;补充了所需的资源引用命名空间。
PickUpCollectHandler(拾取收集处理器)
将长 E 预设等待时长从 1.0 秒 调整为 0.8 秒。
改动说明
本次优化调校了各操作时序,并新增视觉校验机制,减少拾取、技能连招过程中技能 / 普攻输入失效、漏触发的问题。

* Update BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update BetterGenshinImpact/GameTask/AutoLeyLineOutcrop/AutoLeyLineOutcropTask.cs

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* 重构万叶战后长E拾取逻辑:提取公共输入时序、增强防卡键保护及OCR释放校验

- 提取公共输入时序方法 ( TaskControl.cs )
- 新增 SimulateHoldActionAsync 、 SimulateHoldElementalSkillAsync :封装了包含前摇处理、精准延时按压和后摇缓冲的长按逻辑。
- 新增 SimulateMouseLeftClickLoopAsync :封装了左键连续点击循环。
- 核心安全提升 :在上述所有涉及 KeyDown/LeftButtonDown 的方法中,全面引入了双层 try/finally 块,确保在任何异常或手动停止任务的情况下,必然触发 KeyUp/LeftButtonUp 。
- 重构自动战斗拾取 ( AutoFightTask.cs )
- 移除 picker.UseSkill(true) ,接入新的公共方法,将长 E 持续时间精准设定为 800ms 。
- 重构地脉拾取并增加状态双重校验 ( AutoLeyLineOutcropTask.cs )
- 接入公共方法,将长 E 持续时间设定为 1000ms 。
- 新增校验拦截 :在松开 E 键后,截取当前画面,通过 HSV过滤 + PaddleOCR 读取技能 CD 数字,结合 Bv.IsSkillReady 进行双重验证。若未读取到 CD 且图标依然高亮(技能未成功释放),则提前 return 跳过后续左键下落攻击动作,并 阻断 AfterUseSkill 的调用,避免污染 CD 池。

* Update TaskControl.cs

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-09 10:23:31 +08:00
辉鸭蛋
00e62f80ee perf(geartask): 按需导出路径仓库文件以提升初始化性能
- 将路径仓库的镜像初始化从全量导出改为按需导出,避免首次转换时不必要的文件复制
- 添加目录级导出缓存,避免重复导出同一目录下的文件
- 重构 ScriptRepoUpdater 以支持文件/目录的按需导出功能
2026-05-09 04:52:49 +08:00
辉鸭蛋
0f9bd7f465 fix: 移除冗余的取消令牌传递并集中管理取消令牌
在任务执行时,不再从调用方传递 CancellationContext 的令牌,而是在 GearTaskExecutor 内部统一创建和管理链接的取消令牌。这简化了调用方的代码,并确保了取消令牌的正确生命周期管理。
2026-05-09 04:07:15 +08:00
辉鸭蛋
41f38d9e7a 传入取消ct 2026-05-09 03:55:56 +08:00
辉鸭蛋
ed3ee2c392 无用代码优化 2026-05-09 03:49:28 +08:00
辉鸭蛋
769e08edfd fix: 修复DPI缩放获取和定时触发器同步问题
修复 DpiHelper 在未初始化窗口句柄时获取 DPI 缩放值的问题,现在能正确处理多显示器场景。重构 QuartzSchedulerService 的触发器同步逻辑,确保定时任务正确更新。在添加/编辑触发器时增加 Cron 表达式格式校验,避免无效表达式导致调度失败。同时修复 ScriptService 中任务启动时的线程调度问题。
2026-05-09 02:50:52 +08:00
辉鸭蛋
5a6b074759 Merge branch 'main' into d-v3 2026-05-09 01:14:31 +08:00
huiyadanli
3519008bd2 Update version to 0.60.2-alpha.4 2026-05-07 17:19:34 +00:00
辉鸭蛋
649bc0fc66 修复Q技能分类的问题 2026-05-08 01:15:32 +08:00
DarkFlameMaster
4fbc74e7e0 feat(BvLocator): 为 JavaScript 添加动态参数重载方法 (#3106) 2026-05-07 14:30:51 +08:00
辉鸭蛋
847e4076d2 提交一些项目规则 2026-05-06 01:46:52 +08:00
辉鸭蛋
2e8d4b61e3 feat: 原神未在前台时增加定时触发任务确认对话框
在定时触发任务执行前检查原神是否在前台,若不在则显示确认对话框询问用户是否继续执行。防止在用户未准备好时自动启动或切换游戏窗口,提升用户体验和控制权。
2026-05-06 01:45:24 +08:00
辉鸭蛋
cd307bf7b0 refactor: update namespace for gear task classes and improve parameter handling 2026-05-06 01:12:54 +08:00
辉鸭蛋
0653431dd1 Merge branch 'main' into d-v3 2026-05-06 01:08:10 +08:00
辉鸭蛋
951a890ded 又修复了一个陈年老bug #3099 2026-05-06 01:02:08 +08:00
辉鸭蛋
ea13091320 fixed #3099 2026-05-06 00:47:12 +08:00
躁动的氨气
2e57a3aae9 feat: 莉奈娅挖矿配置优化 (#3102) 2026-05-06 00:41:09 +08:00
火山
ff4ff78349 重置鼠标按键,发送 3 次普攻指令,确保枫原万叶下落拾取动作完整执行 (#3101)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-05-05 15:59:20 +08:00
辉鸭蛋
71ace72d9c Merge remote-tracking branch 'origin/main' 2026-05-05 15:54:34 +08:00
辉鸭蛋
e54e5e7af7 fix: update BetterGI.Assets.Map package version to 1.0.19 2026-05-05 15:54:27 +08:00
辉鸭蛋
786f2715a7 处理引用类型的任务,处理仓库变动 2026-05-05 03:05:13 +08:00
辉鸭蛋
977b12f9dc Merge remote-tracking branch 'origin/d-v3' into d-v3 2026-05-05 02:30:24 +08:00
辉鸭蛋
17af6e01f8 自动战斗Q技能加入CD判断 2026-05-05 00:01:56 +08:00
辉鸭蛋
20484b1111 Merge branch 'main' into d-v3 2026-05-04 21:07:13 +08:00
辉鸭蛋
5e98ff724f 改名 2026-05-04 21:06:48 +08:00
辉鸭蛋
63bcce3e0b 改名 2026-05-04 21:05:50 +08:00
辉鸭蛋
9a31b347c0 Merge remote-tracking branch 'origin/d-v3' into d-v3 2026-05-04 20:50:50 +08:00
辉鸭蛋
edcbf26a06 Merge branch 'main' into d-v3 2026-05-04 20:50:23 +08:00
辉鸭蛋
e2f84f7edd JS获取当前在小地图上的位置坐标 新增 matchingMethod 的传入 2026-05-04 20:47:49 +08:00
辉鸭蛋
8daa903e8d JS获取当前在小地图上的位置坐标 新增 matchingMethod 的传入 2026-05-04 20:47:21 +08:00
辉鸭蛋
4ad30a725d Merge remote-tracking branch 'origin/d-v3' into d-v3 2026-05-04 19:59:40 +08:00
辉鸭蛋
f61e35f1ef fix style 2026-05-04 19:59:22 +08:00
辉鸭蛋
71833a32ff feat(gear-task): 为定时触发器添加可视化 Cron 表达式选择器
引入新的 CronSchedulePicker 控件,提供预设(每日/每周)和手动两种输入模式,改善用户体验。用户可通过直观界面选择执行时间,无需手动编写复杂的 Cron 表达式。同时更新了默认触发时间并优化了相关验证逻辑。
2026-05-04 16:05:04 +08:00
辉鸭蛋
c920945439 添加执行任务组按钮 2026-05-04 13:46:52 +08:00