コード例 #1
0
        public IGameBoardViewModel <T> ResetBoard(Func <GameBoardCoordinate, T> getContent)
        {
            try
            {
                var rows = new List <ICollection <IGameBoardCellViewModel <T> > >(_rowCount);

                var gameBoard = new Dictionary <GameBoardCoordinate, IGameBoardCellViewModel <T> >();

                foreach (var row in _gameBoardService.GenerateCells(_rowCount, _columnCount, getContent))
                {
                    var column = new List <IGameBoardCellViewModel <T> >(_columnCount);

                    foreach (var cell in row)
                    {
                        var coordinate = cell.Coordinate;

                        gameBoard[coordinate] = cell;
                        column.Add(cell);
                    }

                    rows.Add(column);
                }

                _gameBoard     = gameBoard;
                RowsAndColumns = rows;
            }
            catch (Exception e)
            {
                // TODO:
            }

            return(this);
        }