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,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Administration;
@@ -9,12 +10,12 @@ public sealed class GamePrototypeLoadMessage : NetMessage
public string PrototypeData { get; set; } = string.Empty;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
PrototypeData = buffer.ReadString();
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write(PrototypeData);
}

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Administration
{
@@ -10,7 +11,7 @@ namespace Content.Shared.Administration
public AdminData? Admin;
public string[] AvailableCommands = Array.Empty<string>();
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
var count = buffer.ReadVariableInt32();
@@ -38,7 +39,7 @@ namespace Content.Shared.Administration
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.WriteVariableInt32(AvailableCommands.Length);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
using Robust.Shared.Utility;
namespace Content.Shared.Administration;
@@ -22,14 +23,14 @@ public sealed class NetworkResourceUploadMessage : NetMessage
RelativePath = relativePath;
}
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
var dataLength = buffer.ReadVariableInt32();
Data = buffer.ReadBytes(dataLength);
RelativePath = new ResourcePath(buffer.ReadString(), buffer.ReadString());
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.WriteVariableInt32(Data.Length);
buffer.Write(Data);

View File

@@ -1,6 +1,7 @@
using JetBrains.Annotations;
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Chat
{
@@ -41,7 +42,7 @@ namespace Content.Shared.Chat
public bool HideChat { get; set; }
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
Channel = (ChatChannel) buffer.ReadInt16();
Message = buffer.ReadString();
@@ -61,7 +62,7 @@ namespace Content.Shared.Chat
HideChat = buffer.ReadBoolean();
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write((short)Channel);
buffer.Write(Message);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Eui
{
@@ -14,7 +15,7 @@ namespace Content.Shared.Eui
public string OpenType = string.Empty;
public uint Id;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
Id = buffer.ReadUInt32();
Type = (CtlType) buffer.ReadByte();
@@ -26,7 +27,7 @@ namespace Content.Shared.Eui
}
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write(Id);
buffer.Write((byte) Type);

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 EuiMessageBase Message = 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);
Message = ser.Deserialize<EuiMessageBase>(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, Message);
var length = (int)stream.Length;
buffer.WriteVariableInt32(length);

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);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.GhostKick;
@@ -7,11 +8,11 @@ public sealed class MsgGhostKick : NetMessage
{
public override MsgGroups MsgGroup => MsgGroups.Core;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
}
}

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Info;
@@ -14,12 +15,12 @@ public abstract class SharedRulesManager
public float PopupTime { get; set; }
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
PopupTime = buffer.ReadFloat();
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write(PopupTime);
}
@@ -32,11 +33,11 @@ public abstract class SharedRulesManager
{
public override MsgGroups MsgGroup => MsgGroups.Command;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
}
}
@@ -48,11 +49,11 @@ public abstract class SharedRulesManager
{
public override MsgGroups MsgGroup => MsgGroups.Command;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
}
}

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Players.PlayTimeTracking;
@@ -12,7 +13,7 @@ public sealed class MsgPlayTime : NetMessage
public Dictionary<string, TimeSpan> Trackers = new();
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
var count = buffer.ReadVariableInt32();
for (var i = 0; i < count; i++)
@@ -21,7 +22,7 @@ public sealed class MsgPlayTime : NetMessage
}
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.WriteVariableInt32(Trackers.Count);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Preferences
{
@@ -12,12 +13,12 @@ namespace Content.Shared.Preferences
public int Slot;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
Slot = buffer.ReadInt32();
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write(Slot);
}

View File

@@ -1,4 +1,4 @@
using System.IO;
using System.IO;
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
@@ -15,9 +15,8 @@ namespace Content.Shared.Preferences
public PlayerPreferences Preferences = default!;
public GameSettings Settings = default!;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
var serializer = IoCManager.Resolve<IRobustSerializer>();
var length = buffer.ReadVariableInt32();
using (var stream = buffer.ReadAlignedMemory(length))
{
@@ -31,9 +30,8 @@ namespace Content.Shared.Preferences
}
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
var serializer = IoCManager.Resolve<IRobustSerializer>();
using (var stream = new MemoryStream())
{
serializer.SerializeDirect(stream, Preferences);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Preferences
{
@@ -12,12 +13,12 @@ namespace Content.Shared.Preferences
public int SelectedCharacterIndex;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
SelectedCharacterIndex = buffer.ReadVariableInt32();
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.WriteVariableInt32(SelectedCharacterIndex);
}

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);

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Voting
{
@@ -23,7 +24,7 @@ namespace Content.Shared.Voting
// It's possible to be able to call votes but all standard votes to be timed out.
// In this case you can open the interface and see the timeout listed there, I suppose.
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
CanCall = buffer.ReadBoolean();
buffer.ReadPadBits();
@@ -40,7 +41,7 @@ namespace Content.Shared.Voting
}
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.Write(CanCall);
buffer.WritePadBits();

View File

@@ -1,5 +1,6 @@
using Lidgren.Network;
using Robust.Shared.Network;
using Robust.Shared.Serialization;
namespace Content.Shared.Voting
{
@@ -17,7 +18,7 @@ namespace Content.Shared.Voting
public bool IsYourVoteDirty;
public byte? YourVote;
public override void ReadFromBuffer(NetIncomingMessage buffer)
public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer)
{
VoteId = buffer.ReadVariableInt32();
VoteActive = buffer.ReadBoolean();
@@ -44,7 +45,7 @@ namespace Content.Shared.Voting
}
}
public override void WriteToBuffer(NetOutgoingMessage buffer)
public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
{
buffer.WriteVariableInt32(VoteId);
buffer.Write(VoteActive);