/// <summary>Gets updates from the server.</summary>
        public void getUpdates(ChessActions actions, ChessActions.gameSquare[,] chessBoard, TextView whoTurn)
        {
            if (actions.getLastMove(chessBoard))
            {
                myTurn = true;
                if (myTurn)
                {
                    whoTurn.Text = username + "'s Turn";
                }
                else
                {
                    whoTurn.Text = opponent + "'s Turn";
                }

                printToTable(chessBoard);
            }
        }
        /// <summary>Draws the table and pieces.</summary>
        public void printToTable(ChessActions.gameSquare[,] chessboard)
        {
            table = new ImageView[8, 8];

            table[0,0] = FindViewById<ImageView> (Resource.Id.A0);
            table[0,1] = FindViewById<ImageView> (Resource.Id.B0);
            table[0,2] = FindViewById<ImageView> (Resource.Id.C0);
            table[0,3] = FindViewById<ImageView> (Resource.Id.D0);
            table[0,4] = FindViewById<ImageView> (Resource.Id.E0);
            table[0,5] = FindViewById<ImageView> (Resource.Id.F0);
            table[0,6] = FindViewById<ImageView> (Resource.Id.G0);
            table[0,7] = FindViewById<ImageView> (Resource.Id.H0);

            table[1,0] = FindViewById<ImageView> (Resource.Id.A1);
            table[1,1] = FindViewById<ImageView> (Resource.Id.B1);
            table[1,2] = FindViewById<ImageView> (Resource.Id.C1);
            table[1,3] = FindViewById<ImageView> (Resource.Id.D1);
            table[1,4] = FindViewById<ImageView> (Resource.Id.E1);
            table[1,5] = FindViewById<ImageView> (Resource.Id.F1);
            table[1,6] = FindViewById<ImageView> (Resource.Id.G1);
            table[1,7] = FindViewById<ImageView> (Resource.Id.H1);

            table[2,0] = FindViewById<ImageView> (Resource.Id.A2);
            table[2,1] = FindViewById<ImageView> (Resource.Id.B2);
            table[2,2] = FindViewById<ImageView> (Resource.Id.C2);
            table[2,3] = FindViewById<ImageView> (Resource.Id.D2);
            table[2,4] = FindViewById<ImageView> (Resource.Id.E2);
            table[2,5] = FindViewById<ImageView> (Resource.Id.F2);
            table[2,6] = FindViewById<ImageView> (Resource.Id.G2);
            table[2,7] = FindViewById<ImageView> (Resource.Id.H2);

            table[3,0] = FindViewById<ImageView> (Resource.Id.A3);
            table[3,1] = FindViewById<ImageView> (Resource.Id.B3);
            table[3,2] = FindViewById<ImageView> (Resource.Id.C3);
            table[3,3] = FindViewById<ImageView> (Resource.Id.D3);
            table[3,4] = FindViewById<ImageView> (Resource.Id.E3);
            table[3,5] = FindViewById<ImageView> (Resource.Id.F3);
            table[3,6] = FindViewById<ImageView> (Resource.Id.G3);
            table[3,7] = FindViewById<ImageView> (Resource.Id.H3);

            table[4,0] = FindViewById<ImageView> (Resource.Id.A4);
            table[4,1] = FindViewById<ImageView> (Resource.Id.B4);
            table[4,2] = FindViewById<ImageView> (Resource.Id.C4);
            table[4,3] = FindViewById<ImageView> (Resource.Id.D4);
            table[4,4] = FindViewById<ImageView> (Resource.Id.E4);
            table[4,5] = FindViewById<ImageView> (Resource.Id.F4);
            table[4,6] = FindViewById<ImageView> (Resource.Id.G4);
            table[4,7] = FindViewById<ImageView> (Resource.Id.H4);

            table[5,0] = FindViewById<ImageView> (Resource.Id.A5);
            table[5,1] = FindViewById<ImageView> (Resource.Id.B5);
            table[5,2] = FindViewById<ImageView> (Resource.Id.C5);
            table[5,3] = FindViewById<ImageView> (Resource.Id.D5);
            table[5,4] = FindViewById<ImageView> (Resource.Id.E5);
            table[5,5] = FindViewById<ImageView> (Resource.Id.F5);
            table[5,6] = FindViewById<ImageView> (Resource.Id.G5);
            table[5,7] = FindViewById<ImageView> (Resource.Id.H5);

            table[6,0] = FindViewById<ImageView> (Resource.Id.A6);
            table[6,1] = FindViewById<ImageView> (Resource.Id.B6);
            table[6,2] = FindViewById<ImageView> (Resource.Id.C6);
            table[6,3] = FindViewById<ImageView> (Resource.Id.D6);
            table[6,4] = FindViewById<ImageView> (Resource.Id.E6);
            table[6,5] = FindViewById<ImageView> (Resource.Id.F6);
            table[6,6] = FindViewById<ImageView> (Resource.Id.G6);
            table[6,7] = FindViewById<ImageView> (Resource.Id.H6);

            table[7,0] = FindViewById<ImageView> (Resource.Id.A7);
            table[7,1] = FindViewById<ImageView> (Resource.Id.B7);
            table[7,2] = FindViewById<ImageView> (Resource.Id.C7);
            table[7,3] = FindViewById<ImageView> (Resource.Id.D7);
            table[7,4] = FindViewById<ImageView> (Resource.Id.E7);
            table[7,5] = FindViewById<ImageView> (Resource.Id.F7);
            table[7,6] = FindViewById<ImageView> (Resource.Id.G7);
            table[7,7] = FindViewById<ImageView> (Resource.Id.H7);

            for (int i = 0; i < 8; i++) {
                for (int j = 0; j < 8; j++) {
                    switch (chessboard [i, j].piece)
                    {
                    case ChessActions.chessman.Bishop:
                        if (chessboard [i, j].colour == ChessActions.chessmanColour.black) {
                            table [i, j].SetImageResource (Resource.Drawable.BlackBishop);
                        } else if (chessboard [i, j].colour == ChessActions.chessmanColour.white) {
                            table [i, j].SetImageResource (Resource.Drawable.WhiteBishop);
                        }

                        break;
                    case ChessActions.chessman.King:
                        if (chessboard [i, j].colour == ChessActions.chessmanColour.black) {
                            table [i, j].SetImageResource (Resource.Drawable.BlackKing);
                        } else if (chessboard [i, j].colour == ChessActions.chessmanColour.white) {
                            table [i, j].SetImageResource (Resource.Drawable.WhiteKing);
                        }

                        break;
                    case ChessActions.chessman.Knight:
                        if (chessboard [i, j].colour == ChessActions.chessmanColour.black) {
                            table [i, j].SetImageResource (Resource.Drawable.BlackKnight);
                        } else if (chessboard [i, j].colour == ChessActions.chessmanColour.white) {
                            table [i, j].SetImageResource (Resource.Drawable.WhiteKnight);
                        }
                        break;
                    case ChessActions.chessman.Pawn:
                        if (chessboard [i, j].colour == ChessActions.chessmanColour.black) {
                            table [i, j].SetImageResource (Resource.Drawable.BlackPawn);
                        } else if (chessboard [i, j].colour == ChessActions.chessmanColour.white) {
                            table [i, j].SetImageResource (Resource.Drawable.WhitePawn);
                        }
                        break;
                    case ChessActions.chessman.Queen:
                        if (chessboard [i, j].colour == ChessActions.chessmanColour.black) {
                            table [i, j].SetImageResource (Resource.Drawable.BlackQueen);
                        } else if (chessboard [i, j].colour == ChessActions.chessmanColour.white) {
                            table [i, j].SetImageResource (Resource.Drawable.WhiteQueen);
                        }
                        break;
                    case ChessActions.chessman.Rook:
                        if (chessboard [i, j].colour == ChessActions.chessmanColour.black) {
                            table [i, j].SetImageResource (Resource.Drawable.BlackRook);
                        } else if (chessboard [i, j].colour == ChessActions.chessmanColour.white) {
                            table [i, j].SetImageResource (Resource.Drawable.WhiteRook);
                        }

                        break;
                    default:
                        table [i, j].SetImageResource (Resource.Drawable.blank);
                        break;
                    }
                }
            }
            if (ChessActions.endGame == true) {
                if (!myTurn) { // if you just moved
                    whoTurn.Text = username + " wins";
                    myTurn = false;
                } else {
                    whoTurn.Text = opponent + " wins";
                    myTurn = false;
                }
            }
        }
        /// <summary>Gets updates from the server.</summary>
        public void getUpdates(ChessActions actions, ChessActions.gameSquare[,] chessBoard, TextView whoTurn)
        {
            if (actions.getLastMove (chessBoard)) {
                myTurn = true;
                if(myTurn)
                    whoTurn.Text = username + "'s Turn";
                else
                    whoTurn.Text = opponent + "'s Turn";

                printToTable(chessBoard);
            }
        }