Example #1
0
        // -------------------------------------------------------------------------------
        // RequestUserRegister
        // @Client
        // -------------------------------------------------------------------------------
        /// <summary>
        /// Protected override function <c>RequestUserRegister</c> that returns a boolean.
        /// Sends a user registration request to the server.
        /// Checks whether the user register request is valid and can be sent to the server.
        /// Returns a boolean detailing whether the request was sent or not.
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="usermail"></param>
        /// <returns> Returns a boolean detailing whether the request was sent to the server. </returns>
        protected override bool RequestUserRegister(NetworkConnection conn, string userName, string password, string usermail)
        {
            if (!base.RequestUserRegister(conn, userName, password, usermail))
            {
                return(false);
            }

            ClientMessageRequestUserRegister message = new ClientMessageRequestUserRegister
            {
                username = userName,
                password = Tools.GenerateHash(name, password),
                email    = usermail,
                deviceid = Tools.GetDeviceId
            };

            conn.Send(message);

            debug.LogFormat(this.name, nameof(RequestUserRegister), conn.Id(), userName);             //DEBUG

            return(true);
        }
        // -------------------------------------------------------------------------------
        // OnClientMessageRequestUserRegister
        // @Client -> @Server
        // -------------------------------------------------------------------------------
        /// <summary>
        /// Event <c>OnClientMessageRequestUserRegister</c>.
        /// Triggered when the server receives a user registration request from the client.
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="msg"></param>
        void OnClientMessageRequestUserRegister(NetworkConnection conn, ClientMessageRequestUserRegister msg)
        {
            ServerMessageResponseUserRegister message = new ServerMessageResponseUserRegister
            {
                success          = true,
                text             = "",
                causesDisconnect = false
            };

            if (DatabaseManager.singleton.TryUserRegister(msg.userName, msg.password, msg.email, msg.deviceid))
            {
                RegisterUser(msg.userName);
                message.text = systemText.userRegisterSuccess;
            }
            else
            {
                message.text    = systemText.userRegisterFailure;
                message.success = false;

                debug.LogFormat(this.name, nameof(OnClientMessageRequestUserRegister), conn.ID(), "DENIED");                 //DEBUG
            }

            conn.Send(message);
        }