public override List <GridNode> GetNeightBours(GridNode node) { var neightbours = new List <GridNode>(); for (int k = 0; k < 4; k++) { MazeDirection dir = (MazeDirection)k; int x = dir.MDToIntVector2().x; int y = dir.MDToIntVector2().y; int checkX = node.gridX + x; int checkY = node.gridY + y; // int checkX = node.gridX + MagicNumbers.FourDirArray[k]; // int checkY = node.gridY + MagicNumbers.FourDirArray[k + 1]; if (checkX >= 0 && checkX < rMax && checkY >= 0 && checkY < cMax && grids[checkX, checkY] != null) { if (cellGrids[node.gridX, node.gridY].edges[k].edgeType != EdgeType.wall) { grids[checkX, checkY].name = cellGrids[node.gridX, node.gridY].edges[k].name; neightbours.Add(grids[checkX, checkY]); } } } return(neightbours); }