Ejemplo n.º 1
0
    void OnStateUpdateComplete(NetUtils.Response response)
    {
        _log.MessageFormat(this, "OnStateUpdateComplete: '{0}'", response.HasError ? response.Error : response.Text);
        if (response.HasError)
        {
            Reset();
            _event.Fire(new Network_Error());
            return;
        }
        if (string.IsNullOrEmpty(response.Text))
        {
            return;
        }
        GameState state = null;

        var fsData = fsJsonParser.Parse(response.Text);

        _serializer.TryDeserialize <GameState>(fsData, ref state);

        _log.MessageFormat(
            this,
            "Parsed state response: players: {0}, turnOwner: {1}",
            state?.Players.Count, state?.GetTurnOwner()
            );

        State = state;
        _event.Fire(new Network_StateUpdated(state));

        if (Logics.TryGetResult(state) != null)
        {
            Reset();
        }
    }
Ejemplo n.º 2
0
    void OnLoginComplete(NetUtils.Response resp, Action <bool, string> callback)
    {
        var success = !resp.HasError;

        Log.MessageFormat("OnLoginComplete: success: {0}", LogTags.Auth, success);
        if (success)
        {
            var token = ExtractToken(resp.Text);
            if (token != null)
            {
                User.Name  = token.UserName;
                AuthHeader = "Bearer " + token.Token;
            }
            else
            {
                success = false;
            }
        }
        var errorText = "";

        if (!success)
        {
            errorText = resp.GetNonEmptyText();
        }
        callback?.Invoke(success, TextUtils.TrimQuotes(errorText));
    }
Ejemplo n.º 3
0
    void OnConnectComplete(NetUtils.Response response)
    {
        _log.MessageFormat(this, "OnConnectComplete: '{0}'", response.HasError ? response.Error : response.Text);
        if (response.HasError)
        {
            _event.Fire(new Network_ConnectComplete(false));
            return;
        }

        ConnectResponse resp = null;

        var fsData = fsJsonParser.Parse(response.Text);
        var result = _serializer.TryDeserialize <ConnectResponse>(fsData, ref resp);

        _log.MessageFormat(
            this,
            "Parsed connect response: connected: {0}, name: '{1}', secret: '{2}'",
            resp?.Connected, resp?.PlayerName, resp?.PlayerSecret
            );

        if (result.Failed || (resp != null) && !resp.Connected)
        {
            _event.Fire(new Network_ConnectComplete(false));
            return;
        }

        PlayerName    = resp.PlayerName;
        _playerSecret = resp.PlayerSecret;

        _headers.Add("PlayerSecret", _playerSecret);

        _event.Fire(new Network_ConnectComplete(true));
    }
Ejemplo n.º 4
0
 void OnStartComplete(NetUtils.Response resp)
 {
     if (!resp.HasError)
     {
         _state = JsonUtils.Deserialize <GameState>(resp.Text);
         OnGameInit();
         _ready = true;
     }
 }
Ejemplo n.º 5
0
 void OnConnectComplete(string id, NetUtils.Response resp)
 {
     Log.MessageFormat("OnConnectComplete: {0}, '{1}'", LogTags.Session, resp.Code, resp.Text);
     if (!resp.HasError)
     {
         CurrentSessionId = id;
         Events.Fire(new Session_ConnectComplete(id));
     }
     else
     {
         Events.Fire(new Common_Error(resp.GetNonEmptyText()));
     }
 }
Ejemplo n.º 6
0
 void OnGetActionComplete(NetUtils.Response resp)
 {
     _lastUpdateTime = Time.realtimeSinceStartup;
     if (!resp.HasError)
     {
         ParseNewAction(GetTypeHeader(resp), resp.Text);
         _curRetryCount = 0;
     }
     else
     {
         _curRetryCount++;
         if (_curRetryCount >= _retryCount)
         {
             Events.Fire(new Common_Error(resp.GetNonEmptyText()));
             OnGameEnd();
         }
     }
 }
Ejemplo n.º 7
0
 void OnRefreshSessionsComplete(NetUtils.Response resp)
 {
     if (!resp.HasError)
     {
         SetupSessions(resp.Text);
         UpdateUserSession(_sessions);
         _curRetryCount = 0;
     }
     else
     {
         _curRetryCount++;
         if (_curRetryCount >= _retryCount)
         {
             _ready = false;
             Events.Fire(new Common_Error(resp.GetNonEmptyText()));
         }
     }
     Events.Fire(new Session_Update(_sessions));
 }
Ejemplo n.º 8
0
 string GetTypeHeader(NetUtils.Response resp)
 {
     return(resp.GetHeader(Interaction.ActionTypeHeader));
 }
Ejemplo n.º 9
0
 void OnSendIntentComplete(NetUtils.Response response)
 {
     _log.MessageFormat(this, "OnSendIntentComplete: '{0}'", response.HasError ? response.Error : response.Code.ToString());
 }