完成离线消息发送和上线获取离线消息
This commit is contained in:
@@ -15,14 +15,34 @@ public class Chat2G_ChatMessageHandler : Route<Scene, Chat2G_ChatMessage>
|
||||
{
|
||||
Message = message.Message,
|
||||
};
|
||||
|
||||
var idList = message.IdList;
|
||||
bool isAll = !(idList != null && idList.Count > 0);
|
||||
|
||||
var gateUnitManage = scene.GetComponent<GateUnitManageComponent>();
|
||||
|
||||
foreach (var session in gateUnitManage.ForEachUnitSession())
|
||||
if (isAll)
|
||||
{
|
||||
session.Send(chatMessage);
|
||||
foreach (var session in gateUnitManage.ForEachUnitSession())
|
||||
{
|
||||
session.Send(chatMessage);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (idList == null) return;
|
||||
foreach (var (_, gateUnit) in gateUnitManage.Units)
|
||||
{
|
||||
if (gateUnit.AccountID > 0 && idList.Contains(gateUnit.AccountID))
|
||||
{
|
||||
Session session = gateUnit.Session;
|
||||
if (session != null)
|
||||
{
|
||||
session.Send(chatMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
await FTask.CompletedTask;
|
||||
}
|
||||
|
||||
@@ -29,10 +29,8 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
// 在缓存中检查该账号是否存在
|
||||
var gateUnitManageComponent = scene.GetComponent<GateUnitManageComponent>();
|
||||
|
||||
if (!gateUnitManageComponent.TryGet(accountId, out var gateUnit))
|
||||
{
|
||||
gateUnit = gateUnitManageComponent.Add(session, accountId);
|
||||
}
|
||||
|
||||
var gateUnit = gateUnitManageComponent.Online(session, accountId);
|
||||
|
||||
if (gateUnit == null)
|
||||
{
|
||||
@@ -40,11 +38,11 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
session.Dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
response.ErrorCode = await GateLoginHelper.Online(gateUnit);
|
||||
Log.Debug($"当前的Gate服务器:{session.Scene.SceneConfigId} accountId:{accountId}");
|
||||
|
||||
|
||||
// var gameSceneConfig = GameSceneHelper.GetSceneConfig(session);
|
||||
//
|
||||
// // 通过chatSceneConfig拿到这个Scene的RouteId
|
||||
@@ -71,6 +69,5 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
||||
// // 给当前Session添加一个组件,当Session销毁的时候会销毁这个组件。
|
||||
// var accountFlagComponent = session.AddComponent<SessionPlayerComponent>();
|
||||
// accountFlagComponent.AccountID = accountId;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user