mysimulation/server/FSO.Server.Protocol/Voltron/AbstractVoltronPacket.cs
Tony Bark 22191ce648 Removed NioTSO client and server
- NioTSO client isn't needed because we're using RayLib
- Added FreeSO's API server to handle most backend operations
2024-05-01 02:55:43 -04:00

33 lines
1.1 KiB
C#
Executable file

using FSO.Common.Serialization;
using FSO.Server.Protocol.Voltron.Model;
using Mina.Core.Buffer;
namespace FSO.Server.Protocol.Voltron
{
public abstract class AbstractVoltronPacket : IVoltronPacket
{
public static Sender GetSender(IoBuffer buffer)
{
var ariesID = buffer.GetPascalString();
var masterID = buffer.GetPascalString();
return new Sender { AriesID = ariesID, MasterAccountID = masterID };
}
public static void PutSender(IoBuffer buffer, Sender sender)
{
buffer.PutPascalString(sender.AriesID);
buffer.PutPascalString(sender.MasterAccountID);
}
public static IoBuffer Allocate(int size)
{
IoBuffer buffer = IoBuffer.Allocate(size);
buffer.Order = ByteOrder.BigEndian;
return buffer;
}
public abstract VoltronPacketType GetPacketType();
public abstract void Serialize(IoBuffer output, ISerializationContext context);
public abstract void Deserialize(IoBuffer input, ISerializationContext context);
}
}