public static FSMWorldState Creat() { FSMWorldState temp = null; if (_states.Count > 0) { temp = _states.Dequeue(); temp.Initialize(); } temp = new FSMWorldState(); temp.Initialize(); return(temp); }
/// <summary> /// 初始化状态机 /// </summary> public void Initialize() { foreach (FSMBaseAction action in _actionSet.Values) { action.BuildRelation(); } _currentState = FSMWroldStateFactory.Creat(); _currentState.Initialize(); if (_actionSet.ContainsKey(_defaultAction)) { _currentAction = _actionSet[_defaultAction]; ActiveAction(_currentAction); } else { Debug.LogError("No This Action"); } }