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); } } }
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);
private void CollectDailyBonusReceived(object sender, CollectDailyBonusResponse e) { throw new System.NotImplementedException(); }