Ordem de empate Xna não está funcionando direito

Eu tenho uma matriz 2D de Texture2D, ele contém as diferentes partes do mapa nesta matriz. Eu tenho um problema, porém, quando eu corro o jogo, o mapa é desenhado corretamente, mas por algum motivo a textura da matriz [0, 0] sobrepõe todas as minhas texturas, incluindo a textura do meu player e a textura do mouse. Todas as outras texturas funcionam como o meu mouse e a textura do player sobrepõem-se corretamente ao mapa.

Estou muito confuso agora, já que as texturas do mapa estão sendo desenhadas juntas usando um loop for aninhado.

Aqui está o meu método de desenho para o meu mapa que eu chamo no método Draw do Jogo:

public void Draw()
{
    // Draws the Map from a 2D Array
    for (int row = 0; row < mapTexture.GetLength(0); row++)
    {
        for (int col = 0; col < mapTexture.GetLength(1); col++)
        {
            spriteBatch.Draw(mapTexture[row, col], mapPosition[row, col], Color.White);
        }//end for
    }//end for
}//end Draw()

Meu método de desenho real:

protected override void Draw(GameTime gameTime)
{
    GraphicsDevice.Clear(Color.CornflowerBlue);

    spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
    spriteBatch.Draw(mouseIcon, mouseIconPosition, Color.White);
    player.Draw();
    map.Draw();
    spriteBatch.End();

    base.Draw(gameTime);
}//end Draw()

questionAnswers(2)

yourAnswerToTheQuestion