To apply damage to enemies, it may be easiest to use Unity’s physics to obtain enemies within an area. This reqiures your enemies to have rigidbodies/colliders. From here: Clean(est) way to find nearest object of many (C#)
Collider[] colliders = Physics.OverlapSphere(center, radius);
float minSqrDistance = Mathf.Infinity;
for (int i = 0; i < colliders.Length; i++)
{
float sqrDistanceToCenter = (center - colliders[i].transform.position).sqrMagnitude;
if (sqrDistanceToCenter < minSqrDistance)
{
minSqrDistance = sqrDistanceToCenter;
// things within range of bomb here, apply bomb damage to things here
}
}
To update that for 2D physics, you’ll just want to Physics2D.OverlapCircleAll with 2D colliders. The link above is a good thread worth reading for pros and cons and different approaches to this problem.
To limit to enemies of a tag, you can add
if (sqrDistanceToCenter < minSqrDistance && hereBeTheTagCheckLogic)
and you’re good to go. If your enemies use a Health component (or wherever they store their health), get that component and apply damage or kill if within the range.