Ejemplo n.º 1
0
    /// <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;
        }
    }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 添加一个新状态;
 /// </summary>
 /// <param name="place"></param>
 public void AddStateStack(HFSMBase.Place place)
 {
     mStateStack.Push(place);
     ChangeState(place);
 }