状态机框架 0.1alpha
by 天神
 
Loading...
Searching...
No Matches
FSMHandler Struct Reference

状态处理函数集合,全部需要子类重新填充内容 More...

#include <FSM_protected.h>

Data Fields

int(** selectNextState )(void *data, FSMSignals *signals)
 
void(** transitionTable )(void *data)
 
void(* transitionGeneralAction )(void *data)
 
void(** enterActionTable )(void *data, FSM **cFSM)
 
void(** duringActionTable )(void *data, FSM **cFSM)
 
void(** exitActionTable )(void *data, FSM **cFSM)
 
void(** childFSMStepTable )(FSM **cFSM)
 

Detailed Description

状态处理函数集合,全部需要子类重新填充内容

这个结构体是私有变量,子状态机和外界都不该访问。但是写在FSM_protect.h文件,这样方便在子类中添加函数。不然添加函数得再写个函数添加, 有点麻烦

Field Documentation

◆ selectNextState

int(** FSMHandler::selectNextState) (void *data, FSMSignals *signals)

每个状态配置的状态选择函数

◆ transitionTable

void(** FSMHandler::transitionTable) (void *data)

状态转移函数表

◆ transitionGeneralAction

void(* FSMHandler::transitionGeneralAction) (void *data)

通用状态转移函数,不论有没有独立的状态转移函数都会执行

◆ enterActionTable

void(** FSMHandler::enterActionTable) (void *data, FSM **cFSM)

进入状态时运行的函数,和plecs对标

◆ duringActionTable

void(** FSMHandler::duringActionTable) (void *data, FSM **cFSM)

状态不变时运行的函数,和plecs对标

◆ exitActionTable

void(** FSMHandler::exitActionTable) (void *data, FSM **cFSM)

状态退出时运行的函数,和plecs对标

◆ childFSMStepTable

void(** FSMHandler::childFSMStepTable) (FSM **cFSM)
Deprecated
子状态机暂时弃用