FsmMachine有限状态机的一些总结

具体思路如下:

- 创建一个基类(对应demo中的FsmState),具备Enter,Excute,Exit三个主要函数以及状态持有对象, 作用于每一种状态的进入,执行以及退出;

- 创建一个状态机(对应demo中的FsmStateMachine),声明基类的三种状态以及状态持有对象,定义构造函数初始化状态持有对象,当每一次状态做出改变时都要声明状态持有的新对象(因为每一种状态都是一个class);

- 创建一个状态载体(对应demo中的CubeAI),实例化状态机(FsmStateMachine)并传递(this)完成状态持有对象声明;实例化一个字典用于存放状态<状态枚举,基类>; 根据对实例化的状态机传递字典键值对改变状态;

- 创建各种状态的class,继承自基类(FsmState)并复写Enter,Excute,Exit三个函数实现各自状态的业务逻辑;

 

demoURL:

http://www.manew.com/thread-89796-1-1.html

posted on 2016-06-16 23:48  快要结束了  阅读(353)  评论(0编辑  收藏  举报

导航