median-dxz / seerh5-assistant

赛尔号H5端登陆器 & api封装接口
https://median-dxz.github.io/sea-project-website/
Mozilla Public License 2.0
29 stars 10 forks source link

让LevelManager和Task提供更好的出错处理抽象 #25

Open median-dxz opened 3 months ago

median-dxz commented 3 months ago

举例说明,精灵王日任关卡挑战的是困难难度,那么对于还没解锁困难难度的萌新,在使用该关卡时,关卡应该抛出异常让登录器的任务调度器(taskScheduler)去处理还是使用状态机自行处理?如果自行处理,根据目前的架构设计思路,next函数是否应该返回一个特定的错误状态?还是在data中置一个errno属性,然后自陷一个通用的error状态? 而且说回来,有必要区分前置条件不满足(可以在update函数中判断出)和意外错误导致的关卡无法运行吗? 目前的大部分自由度交由关卡模组本身来处理。TaskRunner并没有能和登录器交互的接口为logger和错误捕获,和LevelRunner的交互是特定Action和错误捕获,有必要增加交互方式吗?