Beispiel #1
0
 public (uint packetId, byte[] data) PreparePacket(ISerializablePacket packet)
 {
     using (var stream = _memoryStreamMgr.GetStream())
     {
         using (var bw = new BinaryWriter(stream, Encoding.UTF8, true))
             packet.Serialize(bw);
         return(GetPacketId(packet), stream.ToArray());
     }
 }
Beispiel #2
0
 public Task SendPacket(ISerializablePacket packet)
 {
     using (var stream = new MemoryStream())
         using (var bw = new BinaryWriter(stream))
         {
             packet.Serialize(bw);
             bw.Flush();
             return(SendPacket(GetPacketId(packet), stream.ToArray()));
         }
 }
Beispiel #3
0
    public byte[] Serialize(ISerializablePacket packet, uint objectId)
    {
        PacketHeader header = new PacketHeader();
        MemoryStream stream = new MemoryStream();

        header.id = currentPacketId;
        //header.senderId = NetworkManager/*connection manager */.Instance.clientId;
        header.objectId   = objectId;
        header.packetType = packet.packetType;

        header.Serialize(stream);
        packet.Serialize(stream);

        return(stream.ToArray());
    }
Beispiel #4
0
    private byte[] Serialize(ISerializablePacket packet, uint objectId)
    {
        PacketHeader header = new PacketHeader();
        MemoryStream stream = new MemoryStream();

        header.id         = currentPacketId;
        header.senderId   = ConnectionManager.Instance.clientId;
        header.objectId   = objectId;
        header.packetType = (ushort)packet.packetType;
        header.Serialize(stream);

        if (packet.packetType == (ushort)PacketType.User)
        {
            UserTypeHeader userHeader = new UserTypeHeader();
            userHeader.packetType = (ushort)packet.UserType;
            userHeader.Serialize(stream);
        }

        packet.Serialize(stream);

        stream.Close();

        return(stream.ToArray());
    }
Beispiel #5
0
 public static void CreateAndFinalize(NetWriter w, short opCode, ISerializablePacket packet /*, int responseID = -1, bool comepleteResponse = false, ResponseStatus status = ResponseStatus.Default*/)
 {
     w.Write(opCode);
     packet.Serialize(w);
 }