艹
This commit is contained in:
@@ -9,7 +9,7 @@ public sealed class C2G_GetAccountInfoRequestHandler : MessageRPC<C2G_GetAccount
|
||||
{
|
||||
protected override async FTask Run(Session session, C2G_GetAccountInfoRequest request, G2C_GetAccountInfoResponse response, Action reply)
|
||||
{
|
||||
var gameAccountFlagComponent = session.GetComponent<GameAccountFlagComponent>();
|
||||
var gameAccountFlagComponent = session.GetComponent<PlayerFlagComponent>();
|
||||
|
||||
if (gameAccountFlagComponent == null)
|
||||
{
|
||||
@@ -19,7 +19,7 @@ public sealed class C2G_GetAccountInfoRequestHandler : MessageRPC<C2G_GetAccount
|
||||
return;
|
||||
}
|
||||
|
||||
GameAccount account = gameAccountFlagComponent.Account;
|
||||
Player account = gameAccountFlagComponent.Account;
|
||||
|
||||
if (account == null)
|
||||
{
|
||||
|
||||
@@ -4,8 +4,6 @@ using Fantasy.Async;
|
||||
using Fantasy.Network;
|
||||
using Fantasy.Network.Interface;
|
||||
|
||||
#pragma warning disable CS8604 // Possible null reference argument.
|
||||
|
||||
namespace NB.Gate.Handler;
|
||||
|
||||
public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_LoginResponse>
|
||||
@@ -22,7 +20,7 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
}
|
||||
|
||||
var scene = session.Scene;
|
||||
|
||||
// Log.Info($"网关服场景 {scene.Id} {scene.RouteId} {scene.SceneConfigId} {scene.RouteId} {session.RouteId}");
|
||||
if (!GateJWTHelper.ValidateToken(scene, request.ToKen, out var accountId))
|
||||
{
|
||||
// 如果失败,表示肯定是恶意攻击、所以毫不犹疑,直接断开当前会话。
|
||||
@@ -31,19 +29,19 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
}
|
||||
|
||||
// 在缓存中检查该账号是否存在
|
||||
var gameAccountManageComponent = scene.GetComponent<GameAccountManageComponent>();
|
||||
var gameAccountManageComponent = scene.GetComponent<PlayerManageComponent>();
|
||||
Log.Debug("检查账号是否在缓存中");
|
||||
if (!gameAccountManageComponent.TryGet(accountId, out var account))
|
||||
{
|
||||
// 首先要先到数据库中查询是否有这个账号
|
||||
account = await GameAccountHelper.LoadDataBase(scene, accountId);
|
||||
account = await PlayerHelper.LoadDataBase(scene, accountId);
|
||||
// 如果有的话,就直接加入在缓存中就可以了
|
||||
if (account == null)
|
||||
{
|
||||
Log.Debug("检查到账号没有在数据库中,需要创建一个新的账号并且保存到数据库中");
|
||||
// 如果没有,就要创建一个新的并且保存到数据库。
|
||||
// 如果不存在,表示这是一个新的账号,需要创建一下这个账号。
|
||||
account = await GameAccountFactory.Create(scene, accountId);
|
||||
account = await PlayerFactory.Create(scene, accountId);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -79,7 +77,7 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
// 1、客户端断线重连,要给这个Session发送一个消息,通知它有人登录了。
|
||||
// 2、其他的客户端登录了这个账号,要给这个Session发送一个消息,通知它有人登录了。
|
||||
|
||||
var gameAccountFlagComponent = oldSession.GetComponent<GameAccountFlagComponent>();
|
||||
var gameAccountFlagComponent = oldSession.GetComponent<PlayerFlagComponent>();
|
||||
gameAccountFlagComponent.AccountID = 0;
|
||||
gameAccountFlagComponent.Account = null;
|
||||
// 给客户端发送一个重复登录的消息,如果当前客户端是自己上次登录的,发送也不会收到。
|
||||
@@ -90,7 +88,7 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
}
|
||||
|
||||
// 给当前Session添加一个组件,当Session销毁的时候会销毁这个组件。
|
||||
var accountFlagComponent = session.AddComponent<GameAccountFlagComponent>();
|
||||
var accountFlagComponent = session.AddComponent<PlayerFlagComponent>();
|
||||
accountFlagComponent.AccountID = accountId;
|
||||
accountFlagComponent.Account = account;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user