using System; using Data; using Interfaces; using Systems; using UnityEngine; namespace Weapons { public class MeleeAttack : Weapon, IWeapon { [SerializeField] private LayerMask targetMask; public override void Fire() { var finalRange = GetFinalRange(); var hits = Physics2D.OverlapCircleAll(transform.position, finalRange, targetMask); foreach (var hit in hits) { hit.TryGetComponent(out var health); if (hit.gameObject == character.gameObject) continue; var damage = GetFinalDamage(); health.TakeDamage(damage); } } } }