public void CreateTileMap() { output = new TileMapOutput(valueManager, this.OutputTilemap); var result = core.CreateOutputGrid(); output.CreateOutput(manager, result, outputWidth, outputHeight); }
public void TileMapOutputTestSimplePasses() { //outputGrid = new OutputGrid(3, 3, patternManager.GetNumberOfPatterns()); //solver = new CoreSolver(outputGrid, patternManager); //var position = new Vector2Int(0, 0); //for (int i = 0; i < 3; i++) //{ // for (int j = 0; j < 3; j++) // { // outputGrid.SetPatternOnPosition(i, j, 1); // } //} outputGrid = new OutputGrid(5, 5, patternManager.GetNumberOfPatterns()); solver = new CoreSolver(outputGrid, patternManager); var position = new Vector2Int(0, 0); solver.CollapseCell(position); solver.Propagate(); var newPosition1 = solver.GetLowestEntropyCell(); solver.CollapseCell(newPosition1); solver.Propagate(); while (solver.CheckForConflics() == false && outputGrid.CheckIfGridIsSolved() == false) { newPosition1 = solver.GetLowestEntropyCell(); solver.CollapseCell(newPosition1); solver.Propagate(); } if (solver.CheckForConflics()) { Debug.Log("Conflict"); Assert.True(true); } else { outputGrid.PrintResultsToConsol(); int[][] wfcOutput = outputGrid.GetSolvedOutputGrid(); IOutputCreator <Tilemap> tileOutput = new TileMapOutput(valueManager, outputtilemap); tileOutput.CreateOutput(patternManager, wfcOutput, outputGrid.width, outputGrid.height); Assert.True(CheckEveryNeighbour(outputGrid)); } }