Beispiel #1
0
        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);
        }