Пример #1
0
 private Action <V> TryCatchAction <V>                               (Action <V> action, Component component = null)
 {
     return(x =>
     {
         try { action(x); }
         catch (Exception e) { DebugFormat.LogException(component, e); }
     });
 }
Пример #2
0
    public async UniTask                                                 SendRequest()
    {
        UnityWebRequest unityRequest = null;

        try
        {
            unityRequest = CreateUnityWebRequest(RequestURL);

            await PrepeareRequest(unityRequest);

            await unityRequest.SendWebRequest();
        }
        catch (Exception e) { }
        finally
        {
            try
            {
                await RequestPostprocessing(unityRequest);

                if (unityRequest.result == UnityWebRequest.Result.ConnectionError)
                {
                    await ProcessNetworkError(unityRequest);
                }
                if (unityRequest.result == UnityWebRequest.Result.ProtocolError)
                {
                    await ProcessHttpError(unityRequest);
                }
                if (unityRequest.isDone && unityRequest.result == UnityWebRequest.Result.Success)
                {
                    var json = GetJSON(unityRequest);
                    ResponseRawData = json;
                    Events.SendSuccessRaw(json);

                    var data = FromJSON <T>(unityRequest);
                    await OnDataReceived(data);

                    Events.SendSuccess(data);
                }
            }
            catch (Exception e2)
            {
                DebugFormat.LogException <Request <T> >(e2);
            }
        }
    }
Пример #3
0
    protected virtual K                                                               FromJSON <K>                                             (UnityWebRequest unityRequest)
    {
        string json = null;

        try
        {
            json = GetJSON(unityRequest);
            var result = JsonConvert.DeserializeObject <K>(json, jsonSerializerSettings);
            return(result);
        }
        catch (Exception e)
        {
            Events.SendSerializationError(e.Message);
            DebugFormat.LogException <Request <T> >(e);

            try                                     { DebugFormat.LogError(this, $"JSON ({typeof(K).Name}):\n\n{JsonPrettify(json)}\n"); }
            catch (Exception e2) { DebugFormat.LogError(this, $"JSON ({typeof(K).Name}):\n\n{json}\n"); }
        }
        return(default(K));
    }