public static ISpaceObject ClosestSpaceObject(this IGalaxy galaxy, Position target) { return(galaxy.GetSpaceObjects() .OrderBy(obj => target.DistanceTo(obj.Position)) .FirstOrDefault()); }
public static IEnumerable <ISpaceObject> GetSpaceObjectsAt(this IGalaxy galaxy, Position position) { return(galaxy.GetSpaceObjects() .Where(obj => obj.Position == position)); }
public static ISpaceObject?GetSpaceObject(this IGalaxy galaxy, string objectId) { return(galaxy.GetSpaceObjects().SingleOrDefault(obj => obj.ObjectId == objectId)); }