using Tiger.Communication.Messages.Interfaces; using Tiger.Communication.Messages.Types; using Tiger.Game.Rooms; namespace Tiger.Communication.Messages.Outgoing.Navigator; public class FlatResultsComposer : IMessageComposer { public const int UserFlats = 0; public const int Flats = 1; private readonly int _flatResultType; private readonly ICollection _rooms; public FlatResultsComposer(int flatResultType, ICollection rooms) { _flatResultType = flatResultType; _rooms = rooms; } public OutgoingHeaders Header => OutgoingHeaders.FlatResults; public void Compose(ServerMessage message) { message.AppendWire(_flatResultType); message.AppendWire(_rooms.Count); foreach (var room in _rooms) { room.ParseNode(message); } } }