private static HexagonGrid ParseSizeLine(string line) { short size = Convert.ToInt16(line.Remove(0, 6)); var grid = new HexagonGrid(size); return(grid); }
private static void ParseCellLine(string line, HexagonGrid grid) { string[] pieces = line.Split(':'); HexagonAxial axial = GetHexagon(pieces[0]); List <CellData> cellData = GetCellData(pieces[1]); grid.SetCell(axial, cellData); }
public static HexagonGrid ReadFromFile(string path) { string text = File.ReadAllText(path, Encoding.UTF8); text = text.Replace("\r", string.Empty); string[] lines = text.Split('\n'); HexagonGrid grid = ParseLines(lines); return(grid); }
private static HexagonGrid ParseLines(IEnumerable <string> lines) { HexagonGrid grid = null; foreach (string line in lines) { if (!string.IsNullOrEmpty(line)) { if (line.StartsWith("Size: ")) { grid = ParseSizeLine(line); } else { ParseCellLine(line, grid); } } } return(grid); }