示例#1
0
        /// <summary>
        /// 登录功能
        /// </summary>
        /// <param name="request"></param>
        private void HandleUserLoginC2S(BufferEntity request)
        {
            //反序列化 得到客户端 发送的数据

            UserLoginC2S c2sMSG = ProtobufHelper.FromBytes <UserLoginC2S>(request.proto);
            //主要是看反序列化的功能 是否正常
            //Debug.Log("登录:"+ JsonHelper.SerializeObject(c2sMSG));

            //匹配记录:相同的账号 相同的密码
            string sqlCMD = MySqlCMD.Where("Account", c2sMSG.UserInfo.Account) +
                            MySqlCMD.And("Password", c2sMSG.UserInfo.Password);

            UserLoginS2C s2cMSG   = new UserLoginS2C();
            UserInfo     userInfo = DBUserInfo.Instance.Select(sqlCMD);

            if (userInfo != null)
            {
                s2cMSG.UserInfo = userInfo;
                s2cMSG.Result   = 0;//登录成功

                //保存角色信息到服务器本地
                PlayerManager.Add(request.session, s2cMSG.UserInfo.ID, new PlayerEntity()
                {
                    userInfo = s2cMSG.UserInfo,
                    session  = request.session,
                });

                RolesInfo rolesInfo = DBRolesInfo.Instance.Select(MySqlCMD.Where("ID", s2cMSG.UserInfo.ID));

                if (rolesInfo != null)
                {
                    s2cMSG.RolesInfo = rolesInfo;
                    //获取到了角色信息 缓存起来
                    PlayerEntity playerEntity = PlayerManager.GetPlayerEntityFromSession(request.session);
                    playerEntity.rolesInfo = rolesInfo;
                }
            }
            else
            {
                s2cMSG.Result = 2;//帐号和密码不匹配
            }

            //返回结果
            BufferFactory.CreqateAndSendPackage(request, s2cMSG);
        }
示例#2
0
        /// <summary>
        /// 登录按钮点击的事件
        /// </summary>
        private void LoginBtnOnClick()
        {
            if (string.IsNullOrEmpty(AccountInput.text))
            {
                Debug.Log("帐号为空 ...");
                return;
            }

            if (string.IsNullOrEmpty(PwdInput.text))
            {
                Debug.Log("密码为空 ...");
                return;
            }
            //Debug.Log("发哦少年宫登录消息");
            UserLoginC2S c2sMSG = new UserLoginC2S();

            c2sMSG.UserInfo          = new UserInfo();
            c2sMSG.UserInfo.Account  = AccountInput.text;
            c2sMSG.UserInfo.Password = PwdInput.text;
            BufferFactory.CreateAndSendPackage(1001, c2sMSG);
        }