分层纯代码有限状态机¶
GFStateMachine 和 GFState 适合游戏流程、实体决策、系统阶段和可测试的核心状态逻辑。Godot 的 AnimationTree 更多负责混合状态的视觉控制;如果需要对底层流程做严谨管理,纯代码基于对象的状态机更适合作为核心状态机。
阅读入口¶
- 状态类与装配:独立状态类、生命周期方法和状态机初始化。
- 层级切换、守卫与事件:父子状态路径、最近公共祖先切换、进入退出守卫和事件向上分发。
- 依赖代理与事件监听:状态里的架构访问、热路径查询、事件 owner 清理和切换优先级。
使用边界¶
简单项目可以把它当作平铺 FSM 使用;复杂项目可以通过 parent_state_name 建立父子状态路径,让切换时只退出和进入必要的分支。