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()); }
/// <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); }
// 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()); }