The Unity Fast Fsm
参考了一下字典的设计,一级分类存状态,二级分类存传递条件,且是链表。 这样用2个Array就可以存下状态和传递,代替了常规的嵌套结构,避免了n^n的空间占用。 二级分类虽然需要链表查找,但是和字典不一样的是,状态机往往知道要跳转什么状态,所以可以缓存索引, 也就是为什么叫做FastFSM的原因,直接存索引肯定更快。
常规简化版,用于速度对比:https://github.com/hont127/FSM
The Unity Fast Fsm
参考了一下字典的设计,一级分类存状态,二级分类存传递条件,且是链表。 这样用2个Array就可以存下状态和传递,代替了常规的嵌套结构,避免了n^n的空间占用。 二级分类虽然需要链表查找,但是和字典不一样的是,状态机往往知道要跳转什么状态,所以可以缓存索引, 也就是为什么叫做FastFSM的原因,直接存索引肯定更快。
常规简化版,用于速度对比:https://github.com/hont127/FSM