AzurLaneAutoScript
AzurLaneAutoScript copied to clipboard
Opt: Add full winapi support.
- [x] TODO:Send messagebox
ready for review. @LmeSzinc
- 需要解决这个问题,需要讨论两种方案
目前 EmulatorNotRunningError 是在 Device 类初始化时处理,在调度器内处理意味着启动模拟器是作为一个调度器任务去运行。你需要决定是作为设备模块的内部异常去处理,还是作为调度器的任务去处理,不能到处塞 workaround https://github.com/LmeSzinc/AzurLaneAutoScript/pull/3867#discussion_r1638776753
- 减少设置数量,仅为 WhenTaskQueueEmpty 增加关闭模拟器的选项,模拟器启动就是静默启动,不需要设置
- 仅添加实现 无任务时关闭模拟器 和 静默启动模拟器 的代码,无关代码不要全部复制粘贴进来
确定方向再开始写代码
Send notify是指windows通知吗?如果是不妨试试win11toast库?
- 需要解决这个问题,需要讨论两种方案
目前 EmulatorNotRunningError 是在 Device 类初始化时处理,在调度器内处理意味着启动模拟器是作为一个调度器任务去运行。你需要决定是作为设备模块的内部异常去处理,还是作为调度器的任务去处理,不能到处塞 workaround https://github.com/LmeSzinc/AzurLaneAutoScript/pull/3867#discussion_r1638776753
- 减少设置数量,仅为 WhenTaskQueueEmpty 增加关闭模拟器的选项,模拟器启动就是静默启动,不需要设置
- 仅添加实现 无任务时关闭模拟器 和 静默启动模拟器 的代码,无关代码不要全部复制粘贴进来
确定方向再开始写代码
- 目前正在实现中,初步的计划是在run loop捕获异常时检查,但尚不清楚模拟器因任何可能的原因崩溃,run loop会捕获到什么异常。有必要将builtins的Exception和Alas自定义的Exception严格区分,所有自定义的异常应当继承自一个AlasBaseException。
- 可以接受删除BufferMethod,应当保留ProcessBufferTime,过于频繁的启停只会引起不必要的负担;静默启动应当由用户自行决定,有些用户更喜欢视奸(,有些更喜欢偶尔看一眼运行情况,有些用户更喜欢完全无感运行。
- 目前这一次推送并非最终版本,多数代码需要进一步测试,烦请暂时保留。
- TODO条目目前还在开发中(新建文件夹),难度较大需要摇人
- #4270
- 保留意见,若确定要删除BufferMethod则会在BufferTime内使用close_game
- 测试代码已经删除,TODO条目已开发完成,感谢@antecanis8 的推荐,send notify可以通过导入win11toast来实现,这是一个功能齐全的发送通知的库,唯一的缺点是只能用于Windows10、11;由于可以点击通知跳转第三方链接,有被merge恶意代码的风险,推荐的做法是增加一个抽象层