private void HandleCollisions() { //intersections foreach (Box2D enemy in enemies) { if (enemy.Y < -0.8f) { //game lost Lost = true; if (!ReferenceEquals(null, OnLost)) { OnLost(this, null); } } foreach (Box2D bullet in bullets) { if (bullet.Intersects(enemy)) { //delete bullet and enemy OnEnemyDestroy?.Invoke(this, null); bullets.Remove(bullet); enemies.Remove(enemy); return; } } } }
private void HandleCollisions() { //intersections foreach (var enemy in enemies) { if (enemy.MinY < -0.8f) { //game lost Lost = true; OnLost?.Invoke(this, null); } foreach (var bullet in bullets) { if (bullet.Intersects(enemy)) { //delete bullet and enemy OnEnemyDestroy?.Invoke(this, null); bullets.Remove(bullet); enemies.Remove(enemy); return; } } } }