BalloonsPop.ConsoleUserInterface.GnomController.PrintField C# (CSharp) Метод

PrintField() публичный Метод

Updates the view with information from the provided balloon matrix.
public PrintField ( IBalloon matrix ) : void
matrix IBalloon
Результат void
        public void PrintField(IBalloon[,] matrix)
        {
            if (this.cachedField == null)
            {
                this.InitializeField(matrix);

                return;
            }

            int rows = matrix.GetLength(0);
            int columns = matrix.GetLength(1);

            int popped = 0;
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < columns; j++)
                {
                    var childToUpdate = this.cachedField[i, j];
                    childToUpdate.Style.Color = Colors[matrix[i, j].IsPopped ? 0 : matrix[i, j].Number];

                    if (matrix[i, j].IsPopped)
                    {
                        childToUpdate.Content = PoppedBalloonContent;
                        popped++;
                    }
                }
            }

            if (popped >= (rows * columns) - 1)
            {
                foreach (var element in this.cachedField)
                {
                    element.Content = WholeBalloonContent;
                }
            }
        }