2021-04-08 20:09:59 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Net;
|
|
|
|
|
|
|
|
|
|
namespace ET
|
|
|
|
|
{
|
|
|
|
|
[MessageHandler()]
|
|
|
|
|
public class C2R_CreateRoleHandler : AMRpcHandler<C2R_CreateRole, R2C_CreateRole>
|
|
|
|
|
{
|
|
|
|
|
protected override async ETTask Run(Session session, C2R_CreateRole request, R2C_CreateRole response, Action reply)
|
|
|
|
|
{
|
2021-04-10 19:49:32 +08:00
|
|
|
|
if(!FilterCharHelper.IsInvalid(request.Name))
|
2021-04-08 20:09:59 +08:00
|
|
|
|
{
|
2021-04-10 19:49:32 +08:00
|
|
|
|
response.Message = "昵称不能超过7位,不能含有特殊字符";
|
2021-04-08 20:09:59 +08:00
|
|
|
|
reply();
|
|
|
|
|
return;
|
|
|
|
|
}
|
2021-04-10 19:49:32 +08:00
|
|
|
|
|
2021-04-08 20:09:59 +08:00
|
|
|
|
var list = await DBComponent.Instance.Query<NickName>(t => t.Nickname == request.Name);
|
|
|
|
|
|
|
|
|
|
if (list != null && list.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
response.Message = "昵称已存在,请重新输入昵称!";
|
|
|
|
|
reply();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
using (var nickName = EntityFactory.Create<NickName>(Game.Scene))
|
|
|
|
|
{
|
|
|
|
|
nickName.Nickname = request.Name;
|
|
|
|
|
await DBComponent.Instance.Save(nickName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var 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;
|
|
|
|
|
|
|
|
|
|
var component = session.GetComponent<SessionPlayerComponent>();
|
|
|
|
|
component.User = user;
|
|
|
|
|
await GateUserComponent.Instance.Save(user);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//response.Role = role;
|
|
|
|
|
reply();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|