27 lines
912 B
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |