Exemplo n.º 1
0
    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> ();
    }
Exemplo n.º 2
0
 /// <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));
 }