Esempio n. 1
0
    private void RegisterReceive(Protocol protocol)
    {
        if (protocol.GetType() == typeof(RegisterFailedProtocol))
        {
            RegisterFailedProtocol registerFailedProtocol = protocol as RegisterFailedProtocol;
            ClientManager.instance.receiveCallBack -= RegisterReceive;

            idInput.interactable       = true;
            passwordInput.interactable = true;

            if (registerFailedProtocol.state == RegisterFailedState.IDAlreadyExist)
            {
                messageText.text = "注册失败,已经存在的ID";
            }
            else if (registerFailedProtocol.state == RegisterFailedState.Unknown)
            {
                messageText.text = "注册失败,我也不知道为啥";
            }
        }
        else if (protocol.GetType() == typeof(RegisterSuccessProtocol))
        {
            ClientManager.instance.receiveCallBack -= RegisterReceive;
            messageText.text = "注册成功";
        }
    }
Esempio n. 2
0
        public override void Execute(Protocol protocol, ClientToken client)
        {
            if (protocol.GetType() != typeof(RegisterProtocol))
            {
                return;
            }

            RegisterProtocol registerProtocol = protocol as RegisterProtocol;

            Console.WriteLine("注册服务运行,账号为:" + registerProtocol.userId + ",密码为:" + registerProtocol.userPassword + ";");

            AccountDatabase accountDatabase = server.databases[typeof(AccountDatabase)] as AccountDatabase;

            //检查是否ID已经被注册
            if (accountDatabase.Find(x => (x.Id == registerProtocol.userId)) != null)
            {
                //已被注册,返回注册失败
                RegisterFailedProtocol registerFailedProtocol = new RegisterFailedProtocol();
                registerFailedProtocol.state = RegisterFailedState.IDAlreadyExist;

                Byte[] serializedProtocol = ProtocolHelper.ConvertProtocolToBytes(registerFailedProtocol);
                Byte[] encodingData       = GameProtocol.Encoder.Encode(serializedProtocol);

                client.WriteSendData(encodingData);
            }
            else
            {
                //注册成功
                RegisterSuccessProtocol registerSuccessProtocol = new RegisterSuccessProtocol();
                registerSuccessProtocol.PassBadge = 0;

                //写入数据库
                accountDatabase.Write(new Account()
                {
                    Id = registerProtocol.userId, Password = registerProtocol.userPassword
                });

                Byte[] serializedProtocol = ProtocolHelper.ConvertProtocolToBytes(registerSuccessProtocol);
                Byte[] encodingData       = GameProtocol.Encoder.Encode(serializedProtocol);

                client.WriteSendData(encodingData);
            }
        }