using MorgSimulator.Framework; namespace MorgSimulator { public class Dish : Simulator { public void AddMorg(Morg morg) { AddEntity(morg); } public System.Collections.Generic.List GetAllMorgs() { return [.. _entities]; } #nullable enable protected override Entity? FindNearestPrey(Morg predator) { Morg? nearestPrey = null; double nearestDistance = double.MaxValue; foreach (var potentialPrey in _entities) if (potentialPrey.IsAlive && potentialPrey != predator && predator.CanEat(potentialPrey.Type)) { double distance = predator.DistanceTo(potentialPrey.Location); if (distance < nearestDistance) { nearestDistance = distance; nearestPrey = potentialPrey; } } return nearestPrey; } #nullable disable } }