using System; using System.Collections.Generic; using System.Net; namespace ET { [MessageHandler()] public class C2R_CreateRoleHandler : AMRpcHandler { protected override async ETTask Run(Session session, C2R_CreateRole request, R2C_CreateRole response, Action reply) { if(!FilterCharHelper.IsInvalid(request.Name)) { response.Message = "昵称不能超过7位,不能含有特殊字符"; reply(); return; } List list = await DBComponent.Instance.Query(t => t.Nickname == request.Name); if (list != null && list.Count > 0) { response.Message = "昵称已存在,请重新输入昵称!"; reply(); return; } using (NickName nickName = EntityFactory.Create(Game.Scene)) { nickName.Nickname = request.Name; await DBComponent.Instance.Save(nickName); } User user =await GateUserComponent.Instance.Query(request.PlayerId); //!初始化User user.JobId = request.JobId; user.NickName = request.Name; user.Family = ""; user.Title = ""; user.Level = 1; user.CampType = CampType.NoneCamp; user.hasRole = true; user.isChangeDB = true; SessionPlayerComponent component = session.GetComponent(); component.User = user; await GateUserComponent.Instance.Save(user); //response.Role = role; reply(); } } }