Пример #1
0
    private void PickAttack(AttackChances whirlwind, AttackChances bombThrow, AttackChances hammerSwipe, AttackChances sitDown, AttackChances trackingBombAttack)
    {
        playerScript.playerCollision.alreadyHit = false;
        AttackChances[] chances       = new AttackChances[] { whirlwind, bombThrow, hammerSwipe, sitDown, trackingBombAttack };
        float           runningChance = 0;
        float           chance        = Random.value;

        foreach (AttackChances probability in chances)
        {
            if (chance <= probability.chance + runningChance)
            {
                StartCoroutine(probability.attackName);
                break;
            }
            else
            {
                runningChance += probability.chance;
            }
        }
    }
Пример #2
0
    private void PickAttack(AttackChances attackOne)
    {
        AttackChances[] chances       = new AttackChances[] { attackOne };
        float           runningChance = 0;
        float           chance        = Random.value;

        foreach (AttackChances probability in chances)
        {
            Debug.Log(probability.attackName);
            if (chance <= probability.chance + runningChance)
            {
                StartCoroutine(probability.attackName);
                break;
            }
            else
            {
                runningChance += probability.chance;
            }
        }
    }