#nullable enable using MorgSimulator.Factory; using MorgSimulator.Framework; namespace MorgSimulator.Reader { public class MorgReader(Reader reader, IEntityFactory factory) : EntityReader(reader, factory) { public override Morg? ReadEntity(int id) { if (_reader is not CSVReader csvReader) return null; var fields = csvReader.ReadCSVLine(); if (fields == null || fields.Length < 5) return null; var type = fields[0].Trim(); var xString = fields[1].Trim(); var yString = fields[2].Trim(); var movement = fields[3].Trim(); var feeding = fields[4].Trim(); if (!int.TryParse(xString, out int x) || !int.TryParse(yString, out int y)) return null; return _factory.CreateEntity(id, type, x, y, movement, feeding); } } } #nullable disable