Composits有个中断参数,AbortType四个值,AbortType.None很好理解,就是没有中断。
Lower Priority中断低优先级
要想清楚这个意思,先得明白低优先级是什么,在这里低优先级是在节点右边的节点。
这个行为树启动前,Sequece的AbortType被设置成None,C_Test的c被设置成false,这样C_Test返回失败,父节点Sequence也返回失败,那么Selector只有去执行Idle
运行后
也就是Log并没执行到。那假设有这样一种情况,在Idle执行过程中,C_Test的条件发生改变,想去执行Log呢?在目前是没有办法的,因为Sequence没有设置中断。看起来这个举例好像没有实际意义。那如果我把C_Test改为是否发现敌人,Idle改为巡逻,Log改为攻击?也就是说完全存在这样一种情况,一开始没发现敌人,那就一直巡逻,当发现敌人时,要去攻击。这样举例就有实际意义了。实际就成了想当C_Test发生改变时中断Idle的执行,改为执行Log。Idle是Seqenece