Example #1
0
        /// <summary>
        /// 切换状态
        /// </summary>
        /// <param name="_stateName"></param>
        public void ChangeState(int _stateName, IFsmStateParam _param = null)
        {
            if (!m_FsmList.IsContainsKey(_stateName))
            {
                Debug.LogFormat("跳转失败! 要跳转的状态不存在: {0}", _stateName);
                return;
            }

            if (_stateName == m_CurState)
            {
                Debug.Log("跳转失败! 不能跳转到当前状态");
                return;
            }

            m_CurStateFsm?.OnFinishState();
            m_PreState = m_CurState;

            m_CurStateFsm = m_FsmList[_stateName];
            m_CurState    = _stateName;
            m_CurStateFsm.OnInitState(_param);
            Debug.LogFormat("状态跳转:{0} => {1}", m_PreState, m_CurState);
        }
Example #2
0
 public void OnInitState(IFsmStateParam _param)
 {
     Debug.Log("开启默认状态");
 }
Example #3
0
    public void OnInitState(IFsmStateParam _param)
    {
        TestParam param = _param as TestParam;

        Debug.Log(param.testStr);
    }