Files
Fishing2Server/Hotfix/Gate/Handler/Inner/S2G_ChatMessageHandler.cs
2026-03-11 10:15:34 +08:00

56 lines
1.7 KiB
C#

using System.Diagnostics;
using Fantasy;
using Fantasy.Async;
using Fantasy.Network;
using Fantasy.Network.Interface;
using Fantasy.PacketParser;
namespace NB.Gate;
public class S2G_ChatMessageHandler : Address<Scene, Chat2G_ChatMessage>
{
protected override async FTask Run(Scene scene, Chat2G_ChatMessage message)
{
// var chatMessage = new Game2C_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 Game2C_Message()
{
ChatInfoTree = message.ChatInfoTree
};
foreach (var session in scene.GetComponent<GateUnitManageComponent>().ForEachUnitSession())
{
session.Send(chatMessage);
}
await FTask.CompletedTask;
}
}