引用原文:提供创建、使用和销毁有限状态机的功能,一些适用于有限状态机机制的游戏逻辑,使用此模块将是一个不错的选择。
FsmBase 有限状态机基类, IFsm 有限状态机接口
- 共同维护状态机,这样的好处是通过泛型或者类型都能找到对应的状态机
Fsm 有限状态机
- 实现了引用接口
- 基础有限状态机基类,实现了有限状态机接口
-
//内部维护了一组状态,用于切换不同状态,创建时传入,之后不可增减。 private readonly Dictionary<Type, FsmState<T>> m_States; //内部维护了一组数据集,用户不同状态下,传递数据。 private readonly Dictionary<string, Variable> m_Datas;
FsmState 有限状态机状态基类
- OnEnable, OnLeave, OnUpdate, OnDestroy 抽象方法
- ChangeState 切换状态
FsmManager 有限状态机管理器
-
private readonly Dictionary<TypeNamePair, FsmBase> m_Fsms;
通过一个字典维护了所有状态机,key就是类型和名称的组合值,可以对应上接口和