Пример #1
0
        protected async UniTaskVoid HandleRequestUserRegister(
            RequestHandlerData requestHandler,
            RequestUserRegisterMessage request,
            RequestProceedResultDelegate <ResponseUserRegisterMessage> result)
        {
            ResponseUserRegisterMessage.Error error = ResponseUserRegisterMessage.Error.None;
            string           username         = request.username;
            string           password         = request.password;
            FindUsernameResp findUsernameResp = await DbServiceClient.FindUsernameAsync(new FindUsernameReq()
            {
                Username = username
            });

            if (findUsernameResp.FoundAmount > 0)
            {
                error = ResponseUserRegisterMessage.Error.UsernameAlreadyExisted;
            }
            else if (string.IsNullOrEmpty(username) || username.Length < minUsernameLength)
            {
                error = ResponseUserRegisterMessage.Error.TooShortUsername;
            }
            else if (username.Length > maxUsernameLength)
            {
                error = ResponseUserRegisterMessage.Error.TooLongUsername;
            }
            else if (string.IsNullOrEmpty(password) || password.Length < minPasswordLength)
            {
                error = ResponseUserRegisterMessage.Error.TooShortPassword;
            }
            else
            {
                await DbServiceClient.CreateUserLoginAsync(new CreateUserLoginReq()
                {
                    Username = username,
                    Password = password
                });
            }
            // Response
            result.Invoke(
                error == ResponseUserRegisterMessage.Error.None ? AckResponseCode.Success : AckResponseCode.Error,
                new ResponseUserRegisterMessage()
            {
                error = error,
            });
        }
Пример #2
0
        private async UniTaskVoid HandleRequestUserRegisterRoutine(LiteNetLibMessageHandler messageHandler)
        {
            long connectionId = messageHandler.connectionId;
            RequestUserRegisterMessage message = messageHandler.ReadMessage <RequestUserRegisterMessage>();

            ResponseUserRegisterMessage.Error error = ResponseUserRegisterMessage.Error.None;
            string           username         = message.username;
            string           password         = message.password;
            FindUsernameResp findUsernameResp = await DbServiceClient.FindUsernameAsync(new FindUsernameReq()
            {
                Username = username
            });

            if (findUsernameResp.FoundAmount > 0)
            {
                error = ResponseUserRegisterMessage.Error.UsernameAlreadyExisted;
            }
            else if (string.IsNullOrEmpty(username) || username.Length < minUsernameLength)
            {
                error = ResponseUserRegisterMessage.Error.TooShortUsername;
            }
            else if (username.Length > maxUsernameLength)
            {
                error = ResponseUserRegisterMessage.Error.TooLongUsername;
            }
            else if (string.IsNullOrEmpty(password) || password.Length < minPasswordLength)
            {
                error = ResponseUserRegisterMessage.Error.TooShortPassword;
            }
            else
            {
                await DbServiceClient.CreateUserLoginAsync(new CreateUserLoginReq()
                {
                    Username = username,
                    Password = password
                });
            }
            ResponseUserRegisterMessage responseMessage = new ResponseUserRegisterMessage();

            responseMessage.ackId        = message.ackId;
            responseMessage.responseCode = error == ResponseUserRegisterMessage.Error.None ? AckResponseCode.Success : AckResponseCode.Error;
            responseMessage.error        = error;
            ServerSendResponse(connectionId, MMOMessageTypes.ResponseUserRegister, responseMessage);
        }
Пример #3
0
        private IEnumerator HandleRequestUserRegisterRoutine(LiteNetLibMessageHandler messageHandler)
        {
            long connectionId = messageHandler.connectionId;
            RequestUserRegisterMessage message = messageHandler.ReadMessage <RequestUserRegisterMessage>();

            ResponseUserRegisterMessage.Error error = ResponseUserRegisterMessage.Error.None;
            string          username        = message.username;
            string          password        = message.password;
            FindUsernameJob findUsernameJob = new FindUsernameJob(Database, username);

            findUsernameJob.Start();
            yield return(StartCoroutine(findUsernameJob.WaitFor()));

            if (findUsernameJob.result > 0)
            {
                error = ResponseUserRegisterMessage.Error.UsernameAlreadyExisted;
            }
            else if (string.IsNullOrEmpty(username) || username.Length < minUsernameLength)
            {
                error = ResponseUserRegisterMessage.Error.TooShortUsername;
            }
            else if (username.Length > maxUsernameLength)
            {
                error = ResponseUserRegisterMessage.Error.TooLongUsername;
            }
            else if (string.IsNullOrEmpty(password) || password.Length < minPasswordLength)
            {
                error = ResponseUserRegisterMessage.Error.TooShortPassword;
            }
            else
            {
                CreateUserLoginJob createUserLoginJob = new CreateUserLoginJob(Database, username, password);
                createUserLoginJob.Start();
                yield return(StartCoroutine(createUserLoginJob.WaitFor()));
            }
            ResponseUserRegisterMessage responseMessage = new ResponseUserRegisterMessage();

            responseMessage.ackId        = message.ackId;
            responseMessage.responseCode = error == ResponseUserRegisterMessage.Error.None ? AckResponseCode.Success : AckResponseCode.Error;
            responseMessage.error        = error;
            ServerSendPacket(connectionId, DeliveryMethod.ReliableOrdered, MMOMessageTypes.ResponseUserRegister, responseMessage);
        }