private void ToggleCurrentEditBlock(RadioButton radioButton, PuzzleVisualizer.BlockKind blockKind) { if (radioButton.Checked) { pathFinderPuzzleControl.EditBlockKind = blockKind; } }
public static PuzzleVisualizer.BlockKind[,] ConvertMazeToPathFinderPuzzle(this Maze maze) { var puzzleBlocks = new PuzzleVisualizer.BlockKind[maze.Width, maze.Height]; for (var x = 0; x < maze.Width; x++) { for (var y = 0; y < maze.Height; y++) { if (maze[x, y] is Empty) { puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Empty; } if (maze[x, y] is Wall) { puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Wall; } if (maze[x, y] is Start) { puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Start; } if (maze[x, y] is Finish) { puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Finish; } var teleport = maze[x, y] as Teleport; if (teleport != null) { switch (teleport.Address) { case 1: puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Teleport1; break; case 2: puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Teleport2; break; case 3: puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Teleport3; break; default: puzzleBlocks[x, y] = PuzzleVisualizer.BlockKind.Empty; break; } } } } return(puzzleBlocks); }