TH1/Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/RoomMessageHelper.cs

27 lines
912 B
C#

namespace ET.Server
{
public static partial class RoomMessageHelper
{
public static void BroadCast(Room room, IMessage message)
{
// 广播的消息不能被池回收
(message as MessageObject).IsFromPool = false;
RoomServerComponent roomServerComponent = room.GetComponent<RoomServerComponent>();
MessageLocationSenderComponent messageLocationSenderComponent = room.Root().GetComponent<MessageLocationSenderComponent>();
foreach (var kv in roomServerComponent.Children)
{
RoomPlayer roomPlayer = kv.Value as RoomPlayer;
if (!roomPlayer.IsOnline)
{
continue;
}
messageLocationSenderComponent.Get(LocationType.GateSession).Send(roomPlayer.Id, message);
}
}
}
}