6 major server modules (PdkFriendServer/GlobalSever/ServerCore/GameModule/GameNetModule) + game logic (GameFix/GameDAL/ServerData) + network layer (NetWorkMessage) + data layer (ObjectModel) + utilities (MrWu/Core/Config/CloudAPI/dll) + adapters (zyxAdapter/base) .NET 8.0 C# solution, 16 projects, 958 source files
28 lines
902 B
C#
28 lines
902 B
C#
using MessagePack;
|
|
using System;
|
|
using System.Buffers;
|
|
|
|
namespace Server
|
|
{
|
|
public static class MessageHelper
|
|
{
|
|
public static T MessagePackDeserialize<T>(ReadOnlyMemory<byte> buffer)
|
|
{
|
|
return MessagePack.MessagePackSerializer.Deserialize<T>(buffer);
|
|
}
|
|
|
|
public static byte[] MessagePackSerialize<T>(T obj)
|
|
{
|
|
return MessagePack.MessagePackSerializer.Serialize(obj);
|
|
}
|
|
|
|
public static byte[] MessagePackSerialize<T>(byte byteType, T data)
|
|
{
|
|
ArrayBufferWriter<byte> arrayBufferWriter = new ArrayBufferWriter<byte>();
|
|
arrayBufferWriter.GetSpan(1)[0] = byteType;
|
|
arrayBufferWriter.Advance(1);
|
|
MessagePackSerializer.Serialize(arrayBufferWriter, data);
|
|
return arrayBufferWriter.WrittenSpan.ToArray();
|
|
}
|
|
}
|
|
} |