Exemplo n.º 1
0
        public async Task CollectBonus()
        {
            var request = CommonRequest.CollectDailyBonus();
            //var request = CommonRequest.CollectDailyDefenderBonus();

            var serverRequest = GetRequestBuilder().GetRequestEnvelope(new[] { request });

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

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

            ParseServerResponse(serverResponse);

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

                return;
            }

            var responses = serverResponse.Returns;

            if (responses != null)
            {
                if (responses.Count > 0)
                {
                    var getCollectDailyBonusResponse = new CollectDailyBonusResponse();
                    getCollectDailyBonusResponse.MergeFrom(responses[0]);
                    CommonRequest.ProcessCommonResponses(Client, responses, false, true);
                }
            }
        }
Exemplo n.º 2
0
        public static void ProcessCollectDailyBonus(Client client, CollectDailyBonusResponse response)
        {
            if (response == null)
            {
                return;
            }

            switch (response.Result)
            {
            case CollectDailyBonusResponse.Types.Result.Unset:
                Logger.Info("Collect Daily Bonus UNSET");
                break;

            case CollectDailyBonusResponse.Types.Result.Success:
                Logger.Info("Collect Daily Bonus SUCCESS");
                break;

            case CollectDailyBonusResponse.Types.Result.Failure:
                Logger.Info("Collect Daily Bonus FAILURE");
                break;

            case CollectDailyBonusResponse.Types.Result.TooSoon:
                Logger.Info("Collect Daily Bonus TOO SOON");
                break;

            default: break;
            }
        }
 /// <summary>
 /// Provides a safe way to invoke the <see cref="CollectDailyBonusReceived" /> event.
 /// </summary>
 /// <param name="value"></param>
 public void RaiseCollectDailyBonusReceived(CollectDailyBonusResponse value) => CollectDailyBonusReceived?.Invoke(this, value);
Exemplo n.º 4
0
 private void CollectDailyBonusReceived(object sender, CollectDailyBonusResponse e)
 {
     throw new System.NotImplementedException();
 }