예제 #1
0
    void RegistFsm()
    {
        m_Fsm = new FsmManager();
        BulletStartStatus start = new BulletStartStatus(this, m_Animator);

        m_Fsm.AddStatus((int)E_BulletFsmStatus.Start, start);
        BulletRunningStatus run = new BulletRunningStatus(this, m_Animator);

        m_Fsm.AddStatus((int)E_BulletFsmStatus.Running, run);
        BulletEndStatus end = new BulletEndStatus(this, m_Animator);

        m_Fsm.AddStatus((int)E_BulletFsmStatus.End, end);

        ChangeStatus(E_BulletFsmStatus.Start);
    }
예제 #2
0
    /// <summary>
    /// 注册角色状态
    /// </summary>
    void RegistFsmStatus()
    {
        CharIdleStatus idleStatus = new CharIdleStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Idle, idleStatus);
        CharMoveStatus moveStatus = new CharMoveStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Move, moveStatus);
        CharJumpStatus jumpStatus = new CharJumpStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Jump, jumpStatus);
        CharAttackStatus attackStatus = new CharAttackStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Attack, attackStatus);
        CharHurtStatus hurtStatus = new CharHurtStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Hurt, hurtStatus);
        CharHitFlyStatus hitFlyStatus = new CharHitFlyStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.HitFly, hitFlyStatus);
        CharFallDownStatus fallDownStatus = new CharFallDownStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.FallDown, fallDownStatus);
        CharBlinkStatus blinkStatus = new CharBlinkStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Blink, blinkStatus);
        CharPlayStatus playStatus = new CharPlayStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Play, playStatus);
        CharBornStatus bornStatus = new CharBornStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Born, bornStatus);
        CharDieStatus dieStatus = new CharDieStatus(this, m_Animator);

        fsm.AddStatus((int)E_CharacterFsmStatus.Die, dieStatus);

        ChangeStatus(E_CharacterFsmStatus.Idle);
    }