Files
秋雨落 783e850de5 ✨ Fix entity.
Signed-off-by: 秋雨落 <i@rain.cx>
2024-01-10 10:46:56 +08:00

53 lines
1.2 KiB
C#

using CrystalConnector.Protocol.Entities;
using CrystalConnector.Protocol.Messages;
using CrystalConnector.Protocol.Utilities;
using Google.Protobuf;
namespace CrystalConnector.Protocol.Packets.S2C;
public class ForwardPacket : IPacket
{
public string Publisher { get; set; }
public NamespacedId Channel { get; set; }
public string Payload { get; set; }
public ForwardPacket(string publisher, NamespacedId channel, string payload)
{
Publisher = publisher;
Channel = channel;
Payload = payload;
}
public ForwardPacket(byte[] bytes)
{
Read(bytes);
}
public ForwardPacket()
{
}
public void Read(byte[] bytes)
{
var message = Forward.Parser.ParseFrom(bytes);
Publisher = message.Publisher;
Channel = message.Channel.ToId();
Payload = message.Payload;
}
public byte[] Write()
{
var message = new Forward
{
Publisher = Publisher,
Channel = new NamespacedName
{
Namespace = Channel.Namespace,
Name = Channel.Name
},
Payload = Payload
};
return message.ToByteArray();
}
}