提交测试代码
This commit is contained in:
@@ -7,42 +7,49 @@ using Fantasy.PacketParser;
|
||||
|
||||
namespace NB.Gate;
|
||||
|
||||
public class S2G_ChatMessageHandler : Address<Scene, S2G_ChatMessage>
|
||||
public class S2G_ChatMessageHandler : Address<Scene, Chat2G_ChatMessage>
|
||||
{
|
||||
protected override async FTask Run(Scene scene, S2G_ChatMessage message)
|
||||
protected override async FTask Run(Scene scene, Chat2G_ChatMessage message)
|
||||
{
|
||||
var chatMessage = new S2C_Message()
|
||||
// var chatMessage = new S2C_Message()
|
||||
// {
|
||||
// Msg = message.Message,
|
||||
// };
|
||||
// var idList = message.IdList;
|
||||
// bool isAll = !(idList != null && idList.Count > 0);
|
||||
//
|
||||
// var gateUnitManage = scene.GetComponent<GateUnitManageComponent>();
|
||||
//
|
||||
// if (isAll)
|
||||
// {
|
||||
// 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);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
var chatMessage = new Chat2C_Message()
|
||||
{
|
||||
Msg = message.Message,
|
||||
ChatInfoTree = message.ChatInfoTree
|
||||
};
|
||||
var idList = message.IdList;
|
||||
bool isAll = !(idList != null && idList.Count > 0);
|
||||
|
||||
var gateUnitManage = scene.GetComponent<GateUnitManageComponent>();
|
||||
|
||||
if (isAll)
|
||||
foreach (var session in scene.GetComponent<GateUnitManageComponent>().ForEachUnitSession())
|
||||
{
|
||||
foreach (var session in gateUnitManage.ForEachUnitSession())
|
||||
{
|
||||
session.Send(chatMessage);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user