blob: 2bf9a300d2871c12aa354e14d39c7db258856201 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#nullable enable
using MorgSimulator.Factory;
namespace MorgSimulator.Reader
{
public class MorgReader(Reader reader, IMorgFactory factory) : ReaderDecorator(reader)
{
private readonly IMorgFactory _factory = factory;
public Morg? ReadMorg(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.CreateMorg(id, type, x, y, movement, feeding);
}
}
}
#nullable disable
|