Example #1
0
    void SetPreviousGameInfo(string json)
    {
        GameResponseData responseData = JsonConvert.DeserializeObject <GameResponseData>(json);

        _previousGameData   = responseData.game;
        _previousGameStatus = (OnlineGameStatus)Enum.Parse(typeof(OnlineGameStatus), _previousGameData.state.ToUpper(), true);
    }
Example #2
0
    void SetReplayGameInfo(string json)
    {
        GameResponseData responseData = JsonConvert.DeserializeObject <GameResponseData>(json);

        _gameData = responseData.game;

        /*
         * //Debug.Log(_gameData.team_outcomes[0].team + " --- " + _gameData.team_outcomes[0].attack_mvps.Count);
         * if (_gameData.team_outcomes[0].attack_mvps.Count > 0)
         *  Debug.Log(_gameData.team_outcomes[0].attack_mvps[0]);
         * //Debug.Log(_gameData.team_outcomes[0].defend_mvps.Count);
         * if (_gameData.team_outcomes[0].defend_mvps.Count > 0)
         *  Debug.Log(_gameData.team_outcomes[0].defend_mvps[0]);
         * //Debug.Log(_gameData.team_outcomes[1].team + " --- " + _gameData.team_outcomes[1].attack_mvps.Count);
         * if (_gameData.team_outcomes[1].attack_mvps.Count > 0)
         *  Debug.Log(_gameData.team_outcomes[1].attack_mvps[0]);
         * //Debug.Log(_gameData.team_outcomes[1].defend_mvps.Count);
         * if (_gameData.team_outcomes[1].defend_mvps.Count > 0)
         *  Debug.Log(_gameData.team_outcomes[1].defend_mvps[0]);
         */
        /*
         * for (int i = 0; i < _gameData.pieces.Count; i++)
         * {
         *  Debug.Log(_gameData.pieces[i].player_id);
         * }
         */

        DataRecorder.Instance.SetDataFromJson(_gameData.moves);
    }
        public ActionResult GetGameInfo([FromBody] JObject jsonData)
        {
            int              gameID       = int.Parse(jsonData["gameid"].ToString());
            ChessGame        game         = new ChessGame(gameID);
            GameResponseData gameResponse = GameResponseData.CreateFoundResponseData(game);

            return(gameResponse.GetActionResult());
        }
Example #4
0
    void SetGameInfo(string json)
    {
        //Debug.Log("SetGameInfo");
        GameResponseData responseData = JsonConvert.DeserializeObject <GameResponseData>(json);

        //Debug.Log("1");
        _gameData = responseData.game;
        //Debug.Log(json);
        _gameStatus = (OnlineGameStatus)Enum.Parse(typeof(OnlineGameStatus), _gameData.state.ToUpper(), true);
        //Debug.Log("2");
    }
        public ActionResult PlayMove([FromBody] JObject jsonData)
        {
            int       gameID       = int.Parse(jsonData["gameid"].ToString());
            string    move         = jsonData["move"].ToString();
            int       newGameState = int.Parse(jsonData["gamestate"].ToString());
            Player    player       = PlayerController.GetLoggedInPlayer(HttpContext);
            ChessGame game         = new ChessGame(gameID);

            game.PlayMove(player.ID, move, newGameState);
            GameResponseData gameResponse = GameResponseData.CreateFoundResponseData(game);

            return(gameResponse.GetActionResult());
        }
        public ActionResult WaitForGameState([FromBody] JObject jsonData)
        {
            int    gameID = int.Parse(jsonData["gameid"].ToString());
            Player player = PlayerController.GetLoggedInPlayer(HttpContext);

            ChessGame game = new ChessGame(gameID);

            ChessGame.GameState existingState;
            if (player.ID == game.GetWhitePlayer().ID)
            {
                existingState = ChessGame.GameState.BlackMove;
            }
            else if (player.ID == game.GetBlackPlayer().ID)
            {
                existingState = ChessGame.GameState.WhiteMove;
            }
            else
            {
                ResponseData responseData = new ResponseData(400, "Invalid game for player");
                return(responseData.GetActionResult());
            }
            bool stateChanged = false;

            for (int i = 0; i < SearchTryNumber; ++i)
            {
                if (game.GetGameState() == existingState)
                {
                    System.Threading.Thread.Sleep(SearchSleepTime);
                    game.ReloadGameData();
                }
                else
                {
                    //game.ReloadMoves();
                    stateChanged = true;
                    break;
                }
            }
            game.ReloadMoves();
            GameResponseData gameResponse = GameResponseData.CreateFoundResponseData(game);

            return(gameResponse.GetActionResult());
        }
        public ActionResult FindGame()
        {
            ChessGameValidationResult validationResult = FindGameForContext(HttpContext);

            for (int i = 0; i < SearchTryNumber; ++i)
            {
                if (validationResult.status == ChessGameValidationStatus.Searching)
                {
                    System.Threading.Thread.Sleep(SearchSleepTime);
                    validationResult = FindGameForContext(HttpContext);
                }
                else
                {
                    break;
                }
            }
            GameResponseData responseData = GameResponseData.CreateResponseData(validationResult);

            return(responseData.GetActionResult());
        }