public void DeleteState(SoldierStateType stateType) { if (stateType == SoldierStateType.NullState) { Debug.Log("将要删除的状态为空"); } }
public void PerformTransition(SoldierTransition tran) { if (tran == SoldierTransition.NullTransition) { Debug.Log("要执行的转换条件为空"); } SoldierStateType nextState = mCurrentState.GetTargetStateType(tran); if (nextState == SoldierStateType.NullState) { Debug.Log("在 " + tran + " 条件下,没有对应的目标状态"); return; } foreach (SoldierState item in mStates) { if (item.StateType == nextState) { mCurrentState.DoBeforeLeaving(); mCurrentState = item; mCurrentState.DoBeforeEntering(); } } }
public void AddTransition(SoldierTransition tran, SoldierStateType state) { if (tran == SoldierTransition.NullTransition) { Debug.Log("转换条件为空"); } if (state == SoldierStateType.NullState) { Debug.Log("目标状态为空"); } if (relationDic.ContainsKey(tran)) { Debug.Log("已包含该转换"); } relationDic.Add(tran, state); }