Files
Ragon/Ragon.Server/Sources/Lobby/RagonLobbyDispatcher.cs
T

33 lines
737 B
C#
Raw Normal View History

2024-04-13 16:17:31 +03:00
using Ragon.Protocol;
using Ragon.Server.Room;
namespace Ragon.Server.Lobby;
public class RagonLobbyDispatcher
{
private IRagonLobby _lobby;
public RagonLobbyDispatcher(IRagonLobby lobby)
{
_lobby = lobby;
}
public void Write(RagonBuffer writer)
{
writer.Clear();
2024-04-13 18:25:39 +03:00
writer.WriteOperation(RagonOperation.ROOM_LIST_UPDATED);
2024-04-13 16:17:31 +03:00
var rooms = _lobby.Rooms;
writer.WriteUShort((ushort)rooms.Count);
for (int i = 0; i < rooms.Count; i++)
{
var room = rooms[i];
writer.WriteString(room.Id);
writer.WriteString(room.Scene);
writer.WriteUShort((ushort)room.PlayerMax);
writer.WriteUShort((ushort)room.PlayerMin);
writer.WriteUShort((ushort)room.PlayerCount);
}
}
}