Exemple #1
0
 /// <summary>
 /// 检测当前状态是否满足
 /// </summary>
 public void Reason(FSMBase fsm)
 {
     for (int i = 0; i < Triggers.Count; i++)
     {
         if (Triggers[i].HandlerTrigger(fsm))
         {
             //从映射表中获取输出状态
             FSMStateID StateID = map[Triggers[i].TriggerID];
             //切换状态
             fsm.ChangeActiveState(StateID);
             return;
         }
     }
 }