void SetupRoomWithSpecialMirrors(IMirrorFactory mirrorFactory) { mazeParams.Mirrors.ForEach(mirror => { rooms[mirror.Position.X, mirror.Position.Y] = mirrorFactory.CreateMirror(mirror.MetaData); }); }
public Maze(MazeParams mazeParams, IMirrorFactory mirrorFactory) { this.mazeParams = mazeParams; rooms = new IMirror[mazeParams.Width, mazeParams.Length]; SetupRoomsWithDefaultMirrors(mirrorFactory); SetupRoomWithSpecialMirrors(mirrorFactory); }
void SetupRoomsWithDefaultMirrors(IMirrorFactory mirrorFactory) { for (var x = 0; x < mazeParams.Width; x++) { for (var y = 0; y < mazeParams.Length; y++) { rooms[x, y] = mirrorFactory.CreateMirror(); } } }