public ModelBase BaseInitialise(ModelInitialisationOptions options) { Size = options.Size; StartPoint = options.StartPoint; EndPoint = options.EndPoint; Initialise(options); return(this); }
protected override void Initialise(ModelInitialisationOptions options) { Maze = new Dictionary <MazePoint, MazeCell>(); var size = options.Size; var xValues = Enumerable.Range(0, size.X).ToList(); var yValues = Enumerable.Range(0, size.Y).ToList(); var zValues = Enumerable.Range(0, size.Z).ToList(); foreach (var point in xValues.SelectMany(x => yValues.SelectMany(y => zValues.Select(z => _pointFactory.MakePoint(x, y, z))))) { Maze.Add(point, new MazeCell { Directions = Direction.None }); } }
protected override void Initialise(ModelInitialisationOptions options) { Maze = _mazeArrayBuilder.Build(options.Size); }
protected abstract void Initialise(ModelInitialisationOptions options);