private void CheckCollisions() { foreach (var bullet in bulletsThatCollide.ToList()) { bullet.GotDamaged(); } foreach (var entities in entitiesThatCollide) { entities.Item1.GotDamaged(entities.Item2); } var heroIsColliding = allDamageableEntities.Any(enemy => { var totalRadius = enemy.RadiusSize * enemy.RadiusSize + hero.RadiusSize * hero.RadiusSize; var deltaVector = enemy.transform.position - hero.transform.position; return(deltaVector.sqrMagnitude < totalRadius); }); if (heroIsColliding) { hero.GotDamaged(); } entitiesThatCollide.Clear(); }