public int GetLoudMoves(Span <Move> moves, int offset, ulong evasionMask) { var movesCount = PawnOperator.GetLoudMoves(this, moves, offset, evasionMask); movesCount = KnightOperator.GetLoudMoves(this, moves, movesCount, evasionMask); movesCount = BishopOperator.GetLoudMoves(this, moves, movesCount, evasionMask); movesCount = RookOperator.GetLoudMoves(this, moves, movesCount, evasionMask); movesCount = QueenOperator.GetLoudMoves(this, moves, movesCount, evasionMask); movesCount = KingOperator.GetLoudMoves(this, moves, movesCount); return(movesCount); }