private async Task <ValidateCharacterResponseParameters?> GetCharacter(IYield yield, GetCharacterRequestParametersEx parameters)
        {
            var responseParameters = await characterServiceAPI.GetCharacter(yield, parameters);

            onCharacterSelected?.Invoke(responseParameters.Character);

            var status = responseParameters.Character.HasCharacter ? CharacterValidationStatus.Ok : CharacterValidationStatus.Wrong;

            if (status == CharacterValidationStatus.Wrong)
            {
                return(null);
            }

            var map = responseParameters.Character.LastMap;

            return(new ValidateCharacterResponseParameters(status, map));
        }
        public Task <ValidateCharacterResponseParameters?> Handle(IYield yield, MessageData <ValidateCharacterRequestParameters> messageData, ref MessageSendOptions sendOptions)
        {
            var parameters = new GetCharacterRequestParametersEx(userId, messageData.Parameters.CharacterIndex);

            return(GetCharacter(yield, parameters));
        }