Exemplo n.º 1
0
    private void AttacksVerification()
    {
        TypeStateCharacter typeState  = TypeStateCharacter.Attack;
        BossAttack         bossAttack = null;
        //if (isRandomAttack)
        //{
        //    if (listAttacks.Count > 1)
        //    {
        //        float rand = Random.Range(0f, 1f);
        //        Debug.Log("Ramdom: " + rand);

        //        //TypeStateCharacter typeState = VerifyAttackState(rand);
        //        //EnterState(typeState);


        //        bossAttack = GetAttackBoss(TypeSortBossAttackt.RandomPercentMin, rand);
        //        if (bossAttack != null && bossAttack.isSpecialAttack && !bossAttack.IsCooldownActive)
        //        {
        //            typeState = AttackToState(bossAttack.type);
        //            actualBossAttackSpecial = bossAttack;
        //        }

        //        EnterState(typeState);

        //    }
        //    else if (listAttacks.Count == 1)
        //    {
        //        typeState = AttackToState(listAttacks[0].type);
        //        EnterState(typeState);
        //    }
        //    else
        //        EnterState(TypeStateCharacter.Attack);
        //}
        //else
        //{
        float hpPercent = EnemyStatus.HPPercent;

        //TypeStateCharacter typeState = VerifyAttackState(hpPercent);

        typeState  = TypeStateCharacter.Attack;
        bossAttack = GetAttackBoss(TypeSortBossAttackt.HpPercent, hpPercent);
        if (bossAttack.isSpecialAttack && !bossAttack.IsCooldownActive)
        {
            typeState = AttackToState(bossAttack.type);
            actualBossAttackSpecial = bossAttack;
        }


        EnterState(typeState);
        //}
    }
Exemplo n.º 2
0
    protected void EnterState(TypeStateCharacter newState)
    {
        LeaveState();
        prevState = state;
        state     = newState;

        switch (state)
        {
        case TypeStateCharacter.Idle: EnterIdleState();     break;

        case TypeStateCharacter.Move: EnterMoveState();     break;

        case TypeStateCharacter.Attack: EnterAttackState();   break;

        case TypeStateCharacter.Dash: EnterDashState();     break;

        case TypeStateCharacter.Action: EnterActionState();   break;

        case TypeStateCharacter.Patrol: EnterPatrolState();   break;

        case TypeStateCharacter.Follow: EnterFollowState();   break;

        case TypeStateCharacter.Back: EnterBackState();     break;

        case TypeStateCharacter.Rise: EnterRiseState();     break;

        case TypeStateCharacter.FakeDead: EnterFakeDeadState(); break;

        case TypeStateCharacter.Fall: EnterFallState();     break;

        case TypeStateCharacter.Dead: EnterDeadState();     break;

        case TypeStateCharacter.SpecialAttack1Start: EnterSpecialAttack1StartState(); break;

        case TypeStateCharacter.SpecialAttack1Mid: EnterSpecialAttack1MidState();   break;

        case TypeStateCharacter.SpecialAttack1End: EnterSpecialAttack1EndState();   break;

        case TypeStateCharacter.SpecialAttack2: EnterSpecialAttack2State(); break;

        default: break;
        }
    }