mirror of
https://github.com/Sanae6/SmoOnlineServer.git
synced 2024-11-22 03:05:16 +00:00
Revert potential scenario merging fix
This commit is contained in:
parent
e75df1bbb4
commit
aea7d4414f
2 changed files with 9 additions and 8 deletions
|
@ -38,6 +38,7 @@ public class Client : IDisposable {
|
|||
|
||||
public async Task Send<T>(T packet, Client? sender = null) where T : struct, IPacket {
|
||||
IMemoryOwner<byte> memory = MemoryPool<byte>.Shared.RentZero(Constants.HeaderSize + packet.Size);
|
||||
packet = (T) (PacketTransformer?.Invoke(sender, packet) ?? packet);
|
||||
PacketHeader header = new PacketHeader {
|
||||
Id = sender?.Id ?? Id,
|
||||
Type = Constants.PacketMap[typeof(T)].Type,
|
||||
|
@ -55,13 +56,13 @@ public class Client : IDisposable {
|
|||
}
|
||||
|
||||
int packetSize = MemoryMarshal.Read<short>(data.Span[18..]);
|
||||
if (PacketTransformer != null) {
|
||||
PacketType type = MemoryMarshal.Read<PacketType>(data.Span[16..]);
|
||||
IPacket packet = (IPacket) Activator.CreateInstance(Constants.PacketIdMap[type])!;
|
||||
packet.Deserialize(data.Span);
|
||||
packet = PacketTransformer?.Invoke(sender, packet) ?? packet;
|
||||
packet.Serialize(data.Span);
|
||||
}
|
||||
// if (PacketTransformer != null) {
|
||||
// PacketType type = MemoryMarshal.Read<PacketType>(data.Span[16..]);
|
||||
// IPacket packet = (IPacket) Activator.CreateInstance(Constants.PacketIdMap[type])!;
|
||||
// packet.Deserialize(data.Span);
|
||||
// packet = PacketTransformer?.Invoke(sender, packet) ?? packet;
|
||||
// packet.Serialize(data.Span);
|
||||
// }
|
||||
await Socket!.SendAsync(data[..(Constants.HeaderSize + packetSize)], SocketFlags.None);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ public struct GamePacket : IPacket {
|
|||
public short Size => 0x32;
|
||||
public void Serialize(Span<byte> data) {
|
||||
MemoryMarshal.Write(data[..0], ref Is2d);
|
||||
MemoryMarshal.Write(data[1..1], ref ScenarioNum);
|
||||
MemoryMarshal.Write(data[1..], ref ScenarioNum);
|
||||
Encoding.UTF8.GetBytes(Stage).CopyTo(data[2..(2 + StageSize)]);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue