zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Server/Hotfix/Game/Handler/Login/C2R_CreateRoleHandler.cs

55 lines
1.5 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
using System;
2021-04-11 19:50:39 +08:00
using System.Collections.Generic;
2021-04-08 20:09:59 +08:00
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-11 19:50:39 +08:00
List<NickName> list = await DBComponent.Instance.Query<NickName>(t => t.Nickname == request.Name);
2021-04-08 20:09:59 +08:00
if (list != null && list.Count > 0)
{
response.Message = "昵称已存在,请重新输入昵称!";
reply();
return;
}
2021-04-11 19:50:39 +08:00
using (NickName nickName = EntityFactory.Create<NickName>(Game.Scene))
2021-04-08 20:09:59 +08:00
{
nickName.Nickname = request.Name;
await DBComponent.Instance.Save(nickName);
}
2021-04-11 19:50:39 +08:00
User user =await GateUserComponent.Instance.Query(request.PlayerId);
2021-04-08 20:09:59 +08:00
//!初始化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;
2021-04-11 19:50:39 +08:00
SessionPlayerComponent component = session.GetComponent<SessionPlayerComponent>();
2021-04-08 20:09:59 +08:00
component.User = user;
await GateUserComponent.Instance.Save(user);
//response.Role = role;
reply();
}
}
}