示例#1
0
        public async Task <MethodResult <GetBuddyWalkedResponse> > GetBuddyWalked()
        {
            GetBuddyWalkedResponse getBuddyWalkedResponse = null;

            try
            {
                var response = await ClientSession.RpcClient.SendRemoteProcedureCallAsync(new Request
                {
                    RequestType    = RequestType.GetBuddyWalked,
                    RequestMessage = new GetBuddyWalkedMessage
                    {
                    }.ToByteString()
                });

                getBuddyWalkedResponse = GetBuddyWalkedResponse.Parser.ParseFrom(response);
            }
            catch (Exception ex)
            {
                LogCaller(new LoggerEventArgs("GetBuddyWalkedResponse is empty", LoggerTypes.Exception, ex));

                return(new MethodResult <GetBuddyWalkedResponse>
                {
                    Data = getBuddyWalkedResponse
                });
            }

            return(new MethodResult <GetBuddyWalkedResponse>
            {
                Data = getBuddyWalkedResponse,
                Success = true
            });
        }
示例#2
0
 public static void ProcessGetBuddyWalkedResponse(Client client, GetBuddyWalkedResponse response)
 {
     if (response == null)
     {
         return;
     }
     Logger.Debug("Success:" + response.Success);
     Logger.Debug("CandyEarnedCount:" + response.CandyEarnedCount);
     Logger.Debug("FamilyCandyId:" + response.FamilyCandyId);
 }
示例#3
0
        public static void ProcessGetBuddyWalkedResponse(Client client, GetBuddyWalkedResponse response)
        {
            if (response == null)
            {
                return;
            }

            if (response.CandyEarnedCount > 0)
            {
                Logger.Info("Buddy earnt " + response.CandyEarnedCount + " candies walking.");
            }
        }
示例#4
0
        public static void ProcessCommonResponses(Client client, RepeatedField <ByteString> responses, bool processBuddyWalked = true, bool processInBox = true)
        {
            if (responses != null)
            {
                var checkChallengeResponse = new CheckChallengeResponse();
                if (responses.Count > 1)
                {
                    checkChallengeResponse.MergeFrom(responses[1]);
                    CommonRequest.ProcessCheckChallengeResponse(client, checkChallengeResponse);
                }

                var getHatchedEggsResponse = new GetHatchedEggsResponse();
                if (responses.Count > 2)
                {
                    getHatchedEggsResponse.MergeFrom(responses[2]);
                    CommonRequest.ProcessGetHatchedEggsResponse(client, getHatchedEggsResponse);
                }

                var getInventoryResponse = new GetInventoryResponse();
                if (responses.Count > 3)
                {
                    getInventoryResponse.MergeFrom(responses[3]);
                    CommonRequest.ProcessGetInventoryResponse(client, getInventoryResponse);
                }

                var checkAwardedBadgesResponse = new CheckAwardedBadgesResponse();
                if (responses.Count > 4)
                {
                    checkAwardedBadgesResponse.MergeFrom(responses[4]);
                    CommonRequest.ProcessCheckAwardedBadgesResponse(client, checkAwardedBadgesResponse);
                }

                var downloadSettingsResponse = new DownloadSettingsResponse();
                if (responses.Count > 5)
                {
                    downloadSettingsResponse.MergeFrom(responses[5]);
                    CommonRequest.ProcessDownloadSettingsResponse(client, downloadSettingsResponse);
                }
                var index = 5;
                if (processBuddyWalked)
                {
                    index++;
                    var getBuddyWalkedResponse = new GetBuddyWalkedResponse();
                    if (responses.Count > index)
                    {
                        getBuddyWalkedResponse.MergeFrom(responses[index]);
                        CommonRequest.ProcessGetBuddyWalkedResponse(client, getBuddyWalkedResponse);
                    }
                }
                if (processInBox)
                {
                    index++;
                    var getInboxResponse = new GetInboxResponse();

                    if (responses.Count > index)
                    {
                        getInboxResponse.MergeFrom(responses[index]);
                        CommonRequest.ProcessGetInboxResponse(client, getInboxResponse);
                    }
                }
            }
        }
示例#5
0
 private void OnBuddyWalked(object sender, GetBuddyWalkedResponse data)
 {
     ClientManager.LogCaller(new LoggerEventArgs($"Buddy Walked CandyID: {data.FamilyCandyId}, Candy Count: {data.CandyEarnedCount}", LoggerTypes.Buddy));
 }
 /// <summary>
 /// Provides a safe way to invoke the <see cref="BuddyWalkedReceived" /> event.
 /// </summary>
 /// <param name="value"></param>
 public void RaiseBuddyWalkedReceived(GetBuddyWalkedResponse value) => BuddyWalkedReceived?.Invoke(this, value);
示例#7
0
文件: Session.cs 项目: Zacban/POGOLib
 internal void OnBuddyWalked(GetBuddyWalkedResponse buddyWalked)
 {
     BuddyWalked?.Invoke(this, new GetBuddyWalkedResponse(buddyWalked));
 }