public RecursiveBacktrackerGenerator(CellSelector firstCellSelector = null, CellSelector leftCellSelector = null, NeighborSelector neighborSelector = null, bool trackGenerationPath = false) : base(trackGenerationPath) { this.firstCellSelector = firstCellSelector ?? RandomCellSelector; this.leftCellSelector = leftCellSelector ?? RandomCellSelector; this.neighborSelector = neighborSelector ?? RandomNeighbourSelector; }
public GrowingTreeGenerator(CellSelector firstSelector = null, CellSelector carvingCellSelector = null, CellSelector leftCellSelector = null, NeighborSelector neighborSelector = null, bool trackGenerationPath = false) : base(trackGenerationPath) { this.firstSelector = firstSelector ?? RandomCellSelector; this.carvingCellSelector = carvingCellSelector ?? RandomCellSelector; this.leftCellSelector = leftCellSelector ?? RandomCellSelector; this.neighborSelector = neighborSelector ?? RandomNeighbourSelector; }
internal static MazeGenerator.NeighborSelector CreateNeighborSelector( NeighborSelector type, float parameter = 1) { switch (type) { case NeighborSelector.Random: return(_neighborSelectors[type]); default: throw new ArgumentException(); } }