/// <summary> /// 切换状态; /// </summary> /// <param name="state"></param> public void ChangeState(HFSMBase.Place place) { beforeState = this.currentState; this.currentState = place; if (HFSMStateDic.ContainsKey(place)) { HFSMStateDic[place].mCurState = place; } }
/// <summary> /// 切换状态; /// </summary> /// <param name="state"></param> public void ChangeState(HFSMBase.Place place) { beforeState = this.currentState; this.currentState = place; //切换状态的时候先出去上一个; if (mStateStack.Count > 0) { mStateStack.Pop(); } //添加当前的状态; mStateStack.Push(place); if (HFSMStateDic.ContainsKey(place)) { HFSMStateDic[place].mCurState = place; } }
/// <summary> /// 添加一个新状态; /// </summary> /// <param name="place"></param> public void AddStateStack(HFSMBase.Place place) { mStateStack.Push(place); ChangeState(place); }