public ColoredCharacter[,] GetCurrentView() { var views = DisplayingQueue.Select(e => e.GetCurrentView()).ToArray(); var result = new ColoredCharacter[ views.Max(v => v.GetLength(0)), views.Sum(v => v.GetLength(1)) + Indentiation * (views.Length - 1)]; for (var x = 0; x < result.GetLength(0); x++) { for (var y = 0; y < result.GetLength(1); y++) { result[x, y] = new ColoredCharacter(' ', ConsoleColor.Black); } } var currentY = 0; foreach (var view in views) { result.Put(view, new Vector2(0, currentY)); currentY += view.GetLength(1) + Indentiation; } return(result); }
public ColoredCharacter[,] GetCurrentView() { var values = GetContent(); if (values.Length == 0) { return(new ColoredCharacter[0, 0]); } var result = new ColoredCharacter[values.Max(v => v.Length), values.Length]; for (var i = 0; i < values.Length; i++) { result.Put( values[i] .ToCharArray() .Select(c => new ColoredCharacter(c, ConsoleColor.Gray)) .ToArray() .To2D(), new Vector2(0, i)); } return(result); }