protected override void OnInit(object userData) { base.OnInit(userData); Fsm = UnityGameFramework.Runtime.GameEntry.GetComponent <FsmComponent>(); /* 英雄的所有状态类 */ FsmState <Demo10_HeroLogic>[] heroStates = new FsmState <Demo10_HeroLogic>[] { new Demo10_HeroIdleState(), new Demo10_HeroWalkState(), }; /* 创建状态机 */ m_HeroFsm = Fsm.CreateFsm <Demo10_HeroLogic> (this, heroStates); /* 启动站立状态 */ m_HeroFsm.Start <Demo10_HeroIdleState> (); }
/// <summary> /// 创建有限状态机。 /// </summary> /// <typeparam name="T">有限状态机持有者类型。</typeparam> /// <param name="owner">有限状态机持有者。</param> /// <param name="states">有限状态机状态集合。</param> /// <returns>要创建的有限状态机。</returns> public IFsm <T> CreateFsm <T>(T owner, params FsmState <T>[] states) where T : class { return(m_FsmManager.CreateFsm(owner, states)); }