Esempio n. 1
0
        private static HexagonGrid ParseSizeLine(string line)
        {
            short size = Convert.ToInt16(line.Remove(0, 6));
            var   grid = new HexagonGrid(size);

            return(grid);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }