public void CreateProceduresFsm()
 {
     m_ProcedeureFsm = m_FsmManager.CreateFsm(this, "", m_procedures.ToArray());
     if (m_EntranceProcedure == null)
     {
         Debug.LogError("The entry process is empty and cannot start the process.");
     }
     m_ProcedeureFsm.Start(m_EntranceProcedure.GetType());
 }
예제 #2
0
        /// <summary>
        /// 初始化流程管理器。
        /// </summary>
        /// <param name="fsmManager">有限状态机管理器。</param>
        /// <param name="procedures">流程管理器包含的流程。</param>
        public void Initialize(FsmManager fsmManager, params ProcedureBase[] procedures)
        {
            if (fsmManager == null)
            {
                throw new LufyException("FSM manager is invalid.");
            }

            m_FsmManager   = fsmManager;
            m_ProcedureFsm = m_FsmManager.CreateFsm(this, procedures);
        }
예제 #3
0
파일: FsmTest.cs 프로젝트: zhoulk/Lufy
    // Start is called before the first frame update
    void Start()
    {
        m_FsmManager = GetComponent <FsmManager>();

        FsmState <FsmTest>[] states = new FsmState <FsmTest> [3];
        states[0] = new HeroRun();
        states[1] = new HeroIdle();
        states[2] = new HeroAttack();
        m_HeroFsm = m_FsmManager.CreateFsm(this, states);
        m_HeroFsm.Start(typeof(HeroRun));
    }
        /// <summary>
        /// 创建流程状态机
        /// </summary>
        public void CreateProceduresFsm()
        {
            m_ProcedureFsm = m_FsmManager.CreateFsm(this, "", m_procedures.ToArray());

            if (m_EntranceProcedure == null)
            {
                Debug.LogError("入口流程为空,无法开始流程");
                return;
            }

            //开始流程
            m_ProcedureFsm.Start(m_EntranceProcedure.GetType());
        }