コード例 #1
0
        public async Task GetAssetDigest()
        {
            var request = CommonRequest.GetGetAssetDigestMessageRequest(Client);

            var requests = CommonRequest.FillRequest(request, Client, false, false);

            var serverRequest  = GetRequestBuilder().GetRequestEnvelope(requests);
            var serverResponse = await PostProto <Request>(serverRequest).ConfigureAwait(false);

            ParseServerResponse(serverResponse);

            if (serverResponse.StatusCode == ResponseEnvelope.Types.StatusCode.Redirect)
            {
                await GetAssetDigest().ConfigureAwait(false);

                return;
            }

            var responses = serverResponse.Returns;

            if (responses != null)
            {
                if (responses.Count > 0)
                {
                    var getAssetDigestResponse = new GetAssetDigestResponse();
                    getAssetDigestResponse.MergeFrom(responses[0]);
                    CommonRequest.ProcessGetAssetDigestResponse(Client, getAssetDigestResponse);
                    CommonRequest.ProcessCommonResponses(Client, responses, false, false);
                }
            }
        }
コード例 #2
0
ファイル: Templates.cs プロジェクト: garg1337/ProjectGiovanni
 public void SetAssetDigests(GetAssetDigestResponse assetDigestResponse)
 {
     if (_assetDigestResponse == null || assetDigestResponse.TimestampMs > _assetDigestResponse.TimestampMs)
     {
         _assetDigestResponse = assetDigestResponse;
         SaveTemplate(AssetDigestFile, _assetDigestResponse.ToByteString().ToByteArray());
     }
 }
コード例 #3
0
ファイル: Templates.cs プロジェクト: ytn3rd/POGOLib
 public void SetAssetDigests(GetAssetDigestResponse assetDigestResponse)
 {
     if (_assetDigestResponse == null || assetDigestResponse.TimestampMs > _assetDigestResponse.TimestampMs)
     {
         _assetDigestResponse = assetDigestResponse;
         SaveTemplate(AssetDigestFile, _assetDigestResponse.ToByteString().ToByteArray());
     }
 }
コード例 #4
0
        public static void ProcessGetAssetDigestResponse(Client client, GetAssetDigestResponse response)
        {
            if (response == null)
            {
                return;
            }
            var i = 0;

            foreach (var element in response.Digest)
            {
                Logger.Debug($"Digest {i}: {element}");
                i++;
            }
            Logger.Debug("PageOffset:" + response.PageOffset);
            client.PageOffset = response.PageOffset;
            Logger.Debug("TimestampMs:" + response.TimestampMs);
        }
コード例 #5
0
        public async Task <MethodResult <bool> > GetAssetDigest()
        {
            var response = await _client.ClientSession.RpcClient.SendRemoteProcedureCallAsync(new Request
            {
                RequestType    = RequestType.GetAssetDigest,
                RequestMessage = new GetAssetDigestMessage
                {
                    AppVersion         = _client.VersionInt,
                    DeviceManufacturer = _client.Settings.HardwareManufacturer,
                    DeviceModel        = _client.Settings.HardwareModel,
                    Locale             = _client.LocaleInfo.TimeZone,
                    Platform           = Platform.Ios
                }.ToByteString()
            });

            GetAssetDigestResponse getAssetDigestResponse = null;

            try
            {
                getAssetDigestResponse = GetAssetDigestResponse.Parser.ParseFrom(response);
                LogCaller(new LoggerEventArgs("Download asset digest loaded", LoggerTypes.Success));

                return(new MethodResult <bool>
                {
                    Success = true
                });
            }
            catch (Exception ex)
            {
                if (response.IsEmpty)
                {
                    LogCaller(new LoggerEventArgs("Failed to request GetAssetDigestResponse", LoggerTypes.Exception, ex));
                }

                return(new MethodResult <bool>());
            }
        }
コード例 #6
0
 /// <summary>
 /// Provides a safe way to invoke the <see cref="AssetDigestReceived" /> event.
 /// </summary>
 /// <param name="value"></param>
 public void RaiseAssetDigestReceived(GetAssetDigestResponse value) => AssetDigestReceived?.Invoke(this, value);
コード例 #7
0
ファイル: Templates.cs プロジェクト: garg1337/ProjectGiovanni
 public Templates()
 {
     _assetDigestResponse   = LoadAssetDigest();
     _itemTemplatesResponse = LoadItemTemplates();
 }
コード例 #8
0
ファイル: Templates.cs プロジェクト: ytn3rd/POGOLib
 public Templates()
 {
     _assetDigestResponse = LoadAssetDigest();
     _itemTemplatesResponse = LoadItemTemplates();
 }