public LayeredConsole(int width, int height, IEnumerable <CellSurfaceLayer> layers, Font font, Rectangle viewPort) : base(width, height, font, viewPort) { IsCursorDisabled = true; if (layers == null) { _layers = new List <CellSurfaceLayer>(); } else { _layers = new List <CellSurfaceLayer>(layers); } foreach (CellSurfaceLayer layer in layers) { if (layer.Width != width || layer.Height != height) { throw new ArgumentException(nameof(layers), "One of the layers in the array does not match the size of the layered console."); } } Renderer = new Renderers.LayeredConsole() { Layers = _layers }; }
public LayeredConsole(int width, int height, int layers, Font font, Rectangle viewPort) : base(width, height, font, viewPort) { IsCursorDisabled = true; if (layers <= 0) { throw new ArgumentOutOfRangeException(nameof(layers), "Layer count must be 1 or more."); } _layers = new List <CellSurfaceLayer>(layers); for (int i = 0; i < layers; i++) { AddLayer(new CellSurfaceLayer(width, height)); } Renderer = new Renderers.LayeredConsole() { Layers = _layers }; Cells = _layers[0].Cells; }