Files
SlayTheSpire2.LAN.Multiplayer/SlayTheSpire2.LAN.Multiplayer/Models/LanPlayerNameResponseMessage.cs
T

36 lines
1.1 KiB
C#

using MegaCrit.Sts2.Core.Logging;
using MegaCrit.Sts2.Core.Multiplayer.Serialization;
using MegaCrit.Sts2.Core.Multiplayer.Transport;
using SlayTheSpire2.LAN.Multiplayer.Helpers;
namespace SlayTheSpire2.LAN.Multiplayer.Models
{
public struct LanPlayerNameResponseMessage : INetMessage
{
public PlayerNames playerNames;
public bool ShouldBroadcast => false;
public NetTransferMode Mode => NetTransferMode.Reliable;
public LogLevel LogLevel => LogLevel.Info;
public void Serialize(PacketWriter writer)
{
PacketHelper.WriteVarInt(writer, (uint)playerNames.Count);
foreach (var keyValue in playerNames)
{
writer.WriteULong(keyValue.Key);
writer.WriteString(keyValue.Value);
}
}
public void Deserialize(PacketReader reader)
{
var count = PacketHelper.ReadVarInt(reader);
playerNames = new PlayerNames();
for (var i = 0; i < count; i++)
{
playerNames.Add(reader.ReadULong(), reader.ReadString());
}
}
}
}