transitions
简介
提供有限状态机功能
组件接口
transitions.gs
类
State
状态
成员变量
变量名 | 类型 | 初始值 | 须初始化 | 描述 |
---|---|---|---|---|
state | string | nil | 可选 | 状态名称 |
on_enter | function | nil | 可选 | 进入状态时执行的处理 |
on_exit | function | nil | 可选 | 离开状态时执行的处理 |
transitions | map | nil | 可选 | 转换操作表 key: 转换操作, value: 转换处理 - Transition实例 |
成员方法
函数原型 | 函数作用 |
---|---|
void add_transition(string event, Transition transition) | 添加一个状态转换操作 |
void set_transitions(map transitions) | 设置状态转换操作表 |
Transition get_transition(string event) | 获取状态转换操作对应的转换处理 |
void exit() | 退出状态(执行离开状态时处理) |
void enter() | 进入状态(执行进入状态时处理) |
Transition
状态转换处理
成员变量
变量名 | 类型 | 初始值 | 须初始化 | 描述 |
---|---|---|---|---|
condition | function | nil | 可选 | 转换条件 |
on_action | function | nil | 可选 | 转换时执行的操作 |
next_state | string | nil | 可选 | 转换后状态 |
成员方法
函数原型 | 函数作用 |
---|---|
bool guard(string event) | 转换操作条件检查 |
void action(string event, State current_state, State next_state) | 执行转换操作 |