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(); MessageLocationSenderComponent messageLocationSenderComponent = room.Root().GetComponent(); foreach (var kv in roomServerComponent.Children) { RoomPlayer roomPlayer = kv.Value as RoomPlayer; if (!roomPlayer.IsOnline) { continue; } messageLocationSenderComponent.Get(LocationType.GateSession).Send(roomPlayer.Id, message); } } } }