using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Players.PlayTimeTracking;
///
/// Sent server -> client to inform the client of their play times.
///
public sealed class MsgPlayTime : NetMessage
{
public override MsgGroups MsgGroup => MsgGroups.EntityEvent;
public Dictionary Trackers = new();
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
var count = buffer.ReadVariableInt32();
Trackers.EnsureCapacity(count);
for (var i = 0; i < count; i++)
{
Trackers.Add(buffer.ReadString(), buffer.ReadTimeSpan());
}
}
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.WriteVariableInt32(Trackers.Count);
foreach (var (role, time) in Trackers)
{
buffer.Write(role);
buffer.Write(time);
}
}
}