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("已经存在相同的角色名,创建失败!"); } }
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); }