Example #1
0
        private void HandleRolesCreateS2C(BufferEntity response)
        {
            //处理角色是否创建成功的逻辑
            RolesCreateS2C s2cMSG = ProtobufHelper.FromBytes <RolesCreateS2C>(response.proto);

            if (s2cMSG.Result == 0)
            {
                //缓存角色
                RolesCtrl.Instance.SaveRolesInfo(s2cMSG.RolesInfo);
                //关闭掉当前这个窗口
                Close();
                //打开大厅窗口
                WindowManager.Instance.OpenWindow(WindowType.LobbyWindow);
            }
            else
            {
                //角色已经存在 创建失败
                Debug.Log("角色已经存在 创建失败");
                WindowManager.Instance.ShowTips("已经存在相同的角色名,创建失败!");
            }
        }
Example #2
0
        private void HandleRolesCreateC2S(BufferEntity request)
        {
            //去数据库查询下角色表有没有存在相同名称的

            RolesCreateC2S c2sMSG = ProtobufHelper.FromBytes <RolesCreateC2S>(request.proto);

            RolesCreateS2C s2cMSG = new RolesCreateS2C();

            //数据库查询 结果为空 说明没有存在该角色名称
            if (DBRolesInfo.Instance.Select(MySqlCMD.Where("NickName", c2sMSG.NickName)) == null)
            {
                //用户ID
                PlayerEntity player = PlayerManager.GetPlayerEntityFromSession(request.session);

                RolesInfo rolesInfo = new RolesInfo();
                rolesInfo.NickName = c2sMSG.NickName;
                rolesInfo.ID       = player.userInfo.ID;
                rolesInfo.RolesID  = player.userInfo.ID;

                bool result = DBRolesInfo.Instance.Insert(rolesInfo);
                if (result == true)
                {
                    s2cMSG.Result    = 0;
                    s2cMSG.RolesInfo = rolesInfo;
                    //缓存角色的信息到服务器本地
                    player.rolesInfo = rolesInfo;
                }
                else
                {
                    s2cMSG.Result = 2;//未知的异常 等待排查
                    Debug.Log($"插入角色数据存在异常,昵称:{c2sMSG.NickName}!");
                }
            }
            else
            {
                s2cMSG.Result = 1;//创建结果是1
            }
            BufferFactory.CreqateAndSendPackage(request, s2cMSG);
        }