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;
@@ -12,22 +12,20 @@ namespace Content.Shared.Eui
public uint Id;
public EuiStateBase State = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer ser)
{
Id = buffer.ReadUInt32();
var ser = IoCManager.Resolve<IRobustSerializer>();
var len = buffer.ReadVariableInt32();
var stream = buffer.ReadAlignedMemory(len);
State = ser.Deserialize<EuiStateBase>(stream);
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer ser)
{
buffer.Write(Id);
var stream = new MemoryStream();
var ser = IoCManager.Resolve<IRobustSerializer>();
ser.Serialize(stream, State);
var length = (int)stream.Length;
buffer.WriteVariableInt32(length);