//检测条件 ( 由状态机调用) public void Reason(BaseFSM fsm) { for (int i = 0; i < Triggers.Count; i++) { if (Triggers[i].HandleTirgger(fsm)) { //满足条件 //Triggers[i].TriggerID ---> 状态编号? FSMStateID stateID = map[Triggers[i].TriggerID]; //调用状态机的切换方法 fsm.ChangeState(stateID); return; } } }