public void CreateGridFromMapFile(string mapFilePath = "Assets/Resources/Map.txt") { if (transform.childCount > 0) { return; } tileObjectSize = tilePrefabSize * transform.localScale.x; tileCollection.Initialize(); StreamReader sr = new StreamReader(mapFilePath); var mapFileContent = sr.ReadToEnd(); sr.Close(); var mapFileLines = Regex.Split(mapFileContent, "\r\n|\r|\n"); xSize = ySize = mapFileLines.Length; grid = new Tile[xSize, ySize]; int x = 0; int y = 0; for (int i = ySize - 1; i >= 0; i--) { string row = mapFileLines[i]; x = 0; foreach (var tileChar in row) { InstantiateTile(tileChar, x, y); x++; } y++; } }