void ChargedAttack() { float ChargedAttackDamage = 3 * Damage; MainCameraAnimator.SetTrigger("_Shake2"); isChanneling = false; Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(DefaultAttackPosition.position, AttackRange * 1.5f, EnemyMask); foreach (var enemyCollider in enemiesToDamage) { foreach (var vulnerable in enemyCollider.GetComponents <UnitType.IVulnerable>()) { vulnerable.TakeDamage(ChargedAttackDamage); } foreach (var knockbackable in enemyCollider.GetComponents <UnitType.IKnockBackAble>()) { knockbackable.KnockBack(KnockBackPower, transform.position); } } }
public override void DefaultAttack() { if (!isChanneling) { float DefaultKnockBack = KnockBackPower * 0.1f; animator.SetTrigger("_DefaultAttack"); MainCameraAnimator.SetTrigger("_Shake"); Collider2D[] enemiesToDamage = Physics2D.OverlapBoxAll(DefaultAttackPosition.position, new Vector2(AttackRange, AttackRange + (AttackRange / 2)), 0, EnemyMask); foreach (var enemyCollider in enemiesToDamage) { foreach (var vulnerable in enemyCollider.GetComponents <UnitType.IVulnerable>()) { vulnerable.TakeDamage(Damage); } foreach (var knockbackable in enemyCollider.GetComponents <UnitType.IKnockBackAble>()) { knockbackable.KnockBack(DefaultKnockBack, transform.position); } } } }