Example #1
0
        public void LoadOnlineGame(GameInfoWithMoves gameInfo, PlayerData localPlayerData)
        {
            localGame    = false;
            onlineGameID = gameInfo.id;
            //Determine local color
            if (localPlayerData.id == gameInfo.gamedata.wplayer)
            {
                localPlayerColor = PieceColor.White;
            }
            else
            {
                localPlayerColor = PieceColor.Black;
            }

            //Get opponent info (TODO)
            //Insert moves
            CreateGame();
            PieceColor[] colors = new PieceColor[] { PieceColor.White, PieceColor.Black };
            for (int i = 0; i < gameInfo.moves.Count; ++i)
            {
                AddMove(gameInfo.moves[i], colors[i % 2]);
            }
            if (!CanPieceMove(localPlayerColor, false))
            {
                webController.WaitForGameState(onlineGameID);
            }
            UpdatePlayerInfo(gameInfo);
        }
Example #2
0
        public void UpdateGameForOpponent(GameInfoWithMoves gameInfo)
        {
            ChessMove move = AlgebraicNotation.ToChessMove(gameInfo.moves[gameInfo.moves.Count - 1], moveManager, GetOpponentColor());

            moveManager.DoMove(move, false, false);
            UpdatePlayerInfo(gameInfo);
        }
Example #3
0
        public void UpdatePlayerInfo(GameInfoWithMoves gameInfo)
        {
            bool whiteMove = GetGameState() == GameState.WhiteMove;

            whitePlayerPanel.Setup(gameInfo.gamedata.wplayername, gameInfo.gamedata.wtimeleft, gameInfo.gamedata.wplayerrank, whiteMove);
            blackPlayerPanel.Setup(gameInfo.gamedata.bplayername, gameInfo.gamedata.btimeleft, gameInfo.gamedata.bplayerrank, !whiteMove);
        }