Chess.Domain.Board.BackRow C# (CSharp) Method

BackRow() private static method

private static BackRow ( int row, Team team ) : Chess.Data.Entities.Square[]
row int
team Team
return Chess.Data.Entities.Square[]
        private static Square[] BackRow(int row, Team team)
        {
            var c = 0; // fires closure on ref parameter

            Func<Team, Square> rook = t => NewSquare(c++, row, new Rook() { Team = t, PieceType = PieceType.Rook });
            Func<Team, Square> knight = t => NewSquare(c++, row, new Knight() { Team = t, PieceType = PieceType.Knight });
            Func<Team, Square> bishop = t => NewSquare(c++, row, new Bishop() { Team = t, PieceType = PieceType.Bishop });
            Func<Team, Square> queen = t => NewSquare(c++, row, new Queen() { Team = t, PieceType = PieceType.Queen });
            Func<Team, Square> king = t => NewSquare(c++, row, new King() { Team = t, PieceType = PieceType.King });

            return new[]
                {
                    rook(team), knight(team), bishop(team),
                    queen(team), king(team),
                    bishop(team), knight(team), rook(team)
                };
        }