|
发表于 2022-9-11 01:51:30
|
显示全部楼层
展开路径后面命令加入队列会造成其他问题,普通命令队列不会管是否成功都会继续往下执行。
walk现在必须确认走路成功才会进行下一步,举例,e,e,e,n,n,n,第三个e时候给busy一下,没有正常达到预定地点,这里可以用walk pause恢复走下面的e,e,e。
如果作为普通命令进入队列,则会像普通alias一样,中间停下来但命令队列继续执行不能执行的n;n;n,接下来后面append的入队列命令比如ask xxx about job也不会在预期的环境执行。
walk自身维护一个特殊的移动队列,本身验证比常规命令队列复杂得多。
类似玩家定义的walk yangzhou;e;n;
假如walk yangzhou解析成n;e;n;e;n;e,它在自己的context里执行检查
e;n 等于普通命令在自己的队列里依次执行
解决这个问题最好的办法就是定义node,这样后面的e;n会被解析成walk的一部分 |
|