Example #1
0
        private void HandleLoginResponse(ConnectionHandler.RequestResult result, string response)
        {
            if (_timedOut)
            {
                logger.LogWarning(Tag, "HandleGetdataResponse - ModelSyncCompleted timed out");
                return;
            }

            logger.Log(Tag, "HandleLoginResponse (result=" + result + ")\nresponse=" + response.SSubstring(300));
            if (result != ConnectionHandler.RequestResult.Ok)
            {
                HandleErrorResponse(result, response);
                return;
            }

            JsonData responseJsonObject = JsonMapper.ToObject(response);

            string playerId = ((long)responseJsonObject [keyPlayerId]).ToString();

            logger.Log(Tag, "Got playerId:" + playerId);

            bool isNewPlayer = TTPlayerPrefs.GetValue(keyPlayerId, "0") == "0";

            TTPlayerPrefs.SetValue(keyPlayerId, playerId);

            //_gameDB.SaveSyncInfo (keyPlayerId, ((long)responseJsonObject [keyPlayerId]).ToString ());
            logger.Log(Tag, "Got token:" + (string)responseJsonObject [keyToken]);
            _gameDB.SaveSyncInfo(keyToken, (string)responseJsonObject [keyToken]);

            _syncState = SyncLoopState.GettingSync;
        }
Example #2
0
 private bool FirstTimeRun()
 {
     if (TTPlayerPrefs.HasKey("firstTimer"))
     {
         return(false);
     }
     else
     {
         TTPlayerPrefs.SetValue("firstTimer", true);
         return(true);
     }
 }
Example #3
0
        private void OnGamePausedOrQuit()
        {
            int timeDiff = (int)_timeDiff.TotalSeconds;

#if UNITY_2017_1_OR_NEWER
            Debug.unityLogger.Log(Tag, "OnGamePaused - Saving Server Time " + _serverTime.ToString() + " ,time difference: " + timeDiff);
#else
            Debug.logger.Log(Tag, "OnGamePaused - Saving Server Time " + _serverTime.ToString() + " ,time difference: " + timeDiff);
#endif

            TTPlayerPrefs.SetValue(Tag, _serverTime.ToString());
            TTPlayerPrefs.SetValue(TimeDiff, timeDiff);
            TTPlayerPrefs.Save();
        }
Example #4
0
        public void SwitchUserAndRestartFlow(string newPlayerId)
        {
            _syncState = SyncLoopState.LoggingIn;
            _gameDB.SaveSyncInfo(keyToken, "");

            TTPlayerPrefs.SetValue("SwitchPlayerInProgress", true);
            TTPlayerPrefs.SetValue(keyPlayerId, newPlayerId);
            //_gameDB.SaveSyncInfo(keyPlayerId, newPlayerId);
            _gameDB.SaveSyncInfo(keyLastStateUpdate, "2015-01-01T12:00:00Z");
            _gameDB.SaveSyncInfo(keyLastSharedStateUpdate, "2015-01-01T12:00:00Z");
            _timedOut = false;

            if (modelSyncStartSignal != null)
            {
                modelSyncStartSignal.Dispatch();
            }

            _coroutineFactory.StartCoroutine(() => StartOnDemandMode(true));
        }
 private void NotifyTeamScoreIsUpdated(int teamScore)
 {
     TTPlayerPrefs.SetValue("TeamScore", teamScore);
     teamScoreUpdatedSignal.Dispatch(teamScore);
 }
Example #6
0
 private static void ResetPlayerId()
 {
     Debug.Log("ResetPlayer: Setting playerId to 0");
     TTPlayerPrefs.SetValue(keyPlayerId, "0");
 }
Example #7
0
        public void HandleErrorResponse(ConnectionHandler.RequestResult result, string response)
        {
            logger.Log(Tag.Italics(), "ModelSync.HandleErrorResponse (result=" + result + ")\nresponse: " + response.SSubstring(200));

            string title      = "";
            string message    = "";
            string button     = "";
            bool   showDialog = false;
            bool   recoverUnidentifiedUSer = false;

            switch (result)
            {
            case (ConnectionHandler.RequestResult.NoInternet):
                _flowDisconnectReason = FlowDisconnectReason.NoInternet;
                title   = "Connection Error";
                message = "Unable to connect with server. Check you internet connection and try again";
                button  = "Try Again";
                break;

            case (ConnectionHandler.RequestResult.CantReachServer):
                title   = "Connection Error";
                message = "Unable to connect with server. Please try again";
                button  = "Try Again";
                _flowDisconnectReason = FlowDisconnectReason.CantReachServer;
                break;

            case (ConnectionHandler.RequestResult.InternalServerError):
                _flowDisconnectReason = FlowDisconnectReason.ServerInternalError;
                break;

            case (ConnectionHandler.RequestResult.UnAuthorized):
                title   = "Progress Detected";
                message = "You have been playing on another device. Please reload game to load your progress";
                button  = "Reload";
                _flowDisconnectReason = FlowDisconnectReason.ExpiredToken;
                break;

            case (ConnectionHandler.RequestResult.OkWithErrorInside):
                JsonData        responseErrorJsonOnject = JsonMapper.ToObject(response);
                JsonData        errorObject             = (JsonData)responseErrorJsonOnject [keyError];
                ServerErrorData error = JsonMapper.ToObject <ServerErrorData> (errorObject.ToJson());
                logger.Log(Tag, "Handling server error message: " + error.ToString());
                if (error.code == (int)ConnectionHandler.RequestResult.UnAuthorized)
                {
                    _flowDisconnectReason = FlowDisconnectReason.ExpiredToken;
                    title   = "Progress Detected";
                    message = "You have been playing on another device. Please reload game to load your progress";
                    button  = "Reload";
                    break;
                }
                if (error.code == (int)ConnectionHandler.RequestResult.ClientUpdateRequired)
                {
                    _flowDisconnectReason = FlowDisconnectReason.ClientUpdateStarted;
                    title   = error.title;
                    message = "You must update your game - update initiated (url=" + error.message + ").";
                    button  = "";
                    break;
                }

                if (error.code == (int)ConnectionHandler.RequestResult.InternalServerError &&
                    error.message == "User not foundPlayer not found")
                {
                    logger.Log(Tag, "ModelSync.HandleErrorResponse() - PlayerId not found on server => staring new game");

                    recoverUnidentifiedUSer = true;
                    //_gameDB.SaveSyncInfo(keyPlayerId, "0");
                    TTPlayerPrefs.SetValue(keyPlayerId, "0");
                    _gameDB.SaveSyncInfo(keyLastStateUpdate, "");
                    RestartFlowAfterUserSwitch();
                }

                title   = "Unidentified Server Error";
                message = "error " + error.ToString();
                button  = "reload";
                break;
            }

            if (!recoverUnidentifiedUSer)
            {
                _syncState = SyncLoopState.DisconnectedOnHold;
            }

            if (connectionDisconnectedSignal != null)
            {
                connectionDisconnectedSignal.Dispatch(_flowDisconnectReason);
            }

            if (showDialog)
            {
                ShowErrorDialog(title, message, button);
            }
        }