Pass IRobustSerializer to NetMessage (#11021)

This commit is contained in:
Leon Friedrich
2022-09-14 19:25:25 +12:00
committed by GitHub
parent cff6fe267c
commit feb50ce7cc
16 changed files with 52 additions and 48 deletions

View File

@@ -1,4 +1,4 @@
using System.IO;
using System.IO;
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
@@ -15,19 +15,17 @@ namespace Content.Shared.Preferences
public int Slot;
public ICharacterProfile Profile = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
Slot = buffer.ReadInt32();
var serializer = IoCManager.Resolve<IRobustSerializer>();
var length = buffer.ReadVariableInt32();
using var stream = buffer.ReadAlignedMemory(length);
Profile = serializer.Deserialize<ICharacterProfile>(stream);
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write(Slot);
var serializer = IoCManager.Resolve<IRobustSerializer>();
using (var stream = new MemoryStream())
{
serializer.Serialize(stream, Profile);