Esempio n. 1
0
    private IEnumerator Attack()
    {
        int index = Random.Range(0, 4);

        currentEye = eyes[index];
        yield return(new WaitForSeconds(2f));

        currentEye.StartAttacking();
    }
Esempio n. 2
0
    private IEnumerator Attack()
    {
        FindObjectOfType <AudioManager>().Play("SwordSound");
        yield return(new WaitForSeconds(.3f));

        Collider2D[] hitArray = Physics2D.OverlapCircleAll(attackPoint.position, attackRange, enemyLayer);
        foreach (Collider2D collider in hitArray)
        {
            if (collider.CompareTag("Enemy"))
            {
                float damage = attackDamage;
                if (_specialAtk)
                {
                    damage = damage * 2;
                }
                if (collider.gameObject.GetComponent <Enemy>())
                {
                    Enemy enemy = collider.gameObject.GetComponent <Enemy>();
                    enemy.TakeDamage(damage, GetComponent <Collider2D>());
                }
                else if (collider.gameObject.GetComponentInParent <Enemy>())
                {
                    Enemy enemy = collider.gameObject.GetComponentInParent <Enemy>();
                    enemy.TakeDamage(damage, GetComponent <Collider2D>());
                }
            }

            else if (collider.CompareTag("Boss"))
            {
                float damage = attackDamage;
                if (_specialAtk)
                {
                    damage = damage * 2;
                }
                if (collider.gameObject.GetComponent <BossEye>())
                {
                    Debug.Log("MONKEY");
                    BossEye enemy = collider.gameObject.GetComponent <BossEye>();
                    enemy.TakeDamage(damage);
                }
            }
        }
    }