Ejemplo n.º 1
0
        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
            };
        }
Ejemplo n.º 2
0
        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;
        }