Files
better-genshin-impact/BetterGenshinImpact/GameTask/AutoFishing/AutoFishingConfig.cs
FishmanTheMurloc 0c02808626 使用TorchSharp重写RodNet,以利后续优化 (#1613)
* 使用TorchSharp重写RodNet,以利后续优化

* 增加一个外部torch加载配置来代替直接的依赖,如配置不生效则使用原先手搓的算法

* BgiOnnxFactory取消单例,改为在App服务类中注册为单例,由此修复了一堆单元测试

* BgiOnnxFactory中几个静态方法改为成员方法以和App解耦;因不再有多个mat源供消耗,FishBite中文字块算法不再改动传入的mat,使得后续串联的算法不受其影响

* 将BehavioursTests中临时的配置读取方式改为读取主项目编译环境中的json文件;新建单元测试的README

* 将RodNet算法更新到 010006a44c 的版本;RodNet中关于torch库推理和直接数学计算的校验移至单元测试

* 更新RodNet算法至最新:add5672731

* 注释调试用的代码
2025-06-01 15:16:54 +08:00

55 lines
1.5 KiB
C#

using CommunityToolkit.Mvvm.ComponentModel;
using System;
namespace BetterGenshinImpact.GameTask.AutoFishing;
/// <summary>
/// 自动钓鱼配置
/// </summary>
[Serializable]
public partial class AutoFishingConfig : ObservableObject
{
/// <summary>
/// 触发器是否启用
/// 启用后:
/// 1. 自动判断是否进入钓鱼状态
/// 2. 自动提杆
/// 3. 自动拉条
/// </summary>
[ObservableProperty] private bool _enabled = false;
///// <summary>
///// 鱼儿上钩文字识别区域
///// 暂时无用
///// </summary>
//[ObservableProperty] private Rect _fishHookedRecognitionArea = Rect.Empty;
/// <summary>
/// 自动抛竿是否启用
/// </summary>
[ObservableProperty] private bool _autoThrowRodEnabled = false;
/// <summary>
/// 自动抛竿未上钩超时时间(秒)
/// </summary>
[ObservableProperty] private int _autoThrowRodTimeOut = 15;
/// <summary>
/// 整个任务超时时间
/// </summary>
[ObservableProperty]
private int _wholeProcessTimeoutSeconds = 300;
/// <summary>
/// 昼夜策略
/// 钓全天的鱼、还是只钓白天或夜晚的鱼
/// </summary>
[ObservableProperty]
private FishingTimePolicy _fishingTimePolicy = FishingTimePolicy.All;
/// <summary>
/// torch库文件地址
/// </summary>
[ObservableProperty]
private string _torchDllFullPath = @"C:\torch\lib\torch_cpu.dll";
}