private IEnumerator Attack() { int index = Random.Range(0, 4); currentEye = eyes[index]; yield return(new WaitForSeconds(2f)); currentEye.StartAttacking(); }
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); } } } }