예제 #1
0
        public async Task <AkinatorQuestion> ExclusionGame(CancellationToken cancellationToken = default)
        {
            cancellationToken.ThrowIfCancellationRequested();

            if (_mStep == 0)
            {
                return(null);
            }

            var url = AkiUrlBuilder.Exclusion(_mSession, _mSignature, _mStep, _mServer);

            var response = await _mWebClient.GetAsync(url, cancellationToken).ConfigureAwait(false);

            var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            var result = EnsureNoError <Question>(url, content);

            _mStep          = result.Step;
            CurrentQuestion = ToAkinatorQuestion(result);
            return(CurrentQuestion);
        }