public MazeTable Build() { // Random.seed = seed; // BaseLogger.LogFormat("Maze seed is: {0}", seed); //For test // Random.seed = 7928; mazeTable = new MazeTable(); mazeTable.Init(mazeData.Cols, mazeData.Rows); nodeList.Clear(); MazeNode firstNode = BuildFirstBlock(); mazeTable.SetNode(firstNode, firstNode.Col, firstNode.Row); nodeList.Add(firstNode); mazeTable.AddMazeNode(firstNode); while(nodeList.Count > 0) { // Debug.Log((node.Col * 3).ToString() + ", " + (node.Row * 3).ToString() + " " + node.Up.ToString() + ", " + node.Right.ToString() + ", " + node.Down.ToString() + ", " + node.Left.ToString()); ExpandNode(nodeList[0]); } return mazeTable; }
public void Init() { mazeData = MazeDataManager.Instance.CurrentMazeData; MazeBuilder builder = new MazeBuilder(mazeData); mazeTable = builder.Build(); StartNode = mazeTable.GetNode(mazeData.StartCol, mazeData.StartRow); InitGlobalExplorationPositions(); // TestGlobalExplorationPositions(); }
public void Dispose() { blockDic.Clear(); mockNodeSet.Clear(); globalExplorationNodeList.Clear(); ToDeleteNodeList.Clear(); ToCreateNodeList.Clear(); prevAroundList.Clear(); mazeTable = null; StartNode = null; mazeData = null; }