bool ReadStateUpdatePacketHeader(byte[] packetData, out Network.PacketHeader packetHeader)
    {
        Profiler.BeginSample("ReadStateUpdatePacketHeader");

        readStream.Start(packetData);

        bool result = true;

        try
        {
            packetSerializer.ReadStateUpdatePacketHeader(readStream, out packetHeader);
        }
        catch (Network.SerializeException)
        {
            Debug.Log("error: failed to read state update packet header");

            packetHeader.sequence               = 0;
            packetHeader.ack                    = 0;
            packetHeader.ack_bits               = 0;
            packetHeader.frameNumber            = 0;
            packetHeader.resetSequence          = 0;
            packetHeader.avatarSampleTimeOffset = 0.0f;

            result = false;
        }

        readStream.Finish();

        Profiler.EndSample();

        return(result);
    }
    protected bool ReadServerInfoPacket( byte[] packetData, bool[] clientConnected, ulong[] clientUserId, string[] clientUserName )
    {
        Profiler.BeginSample( "ReadServerInfoPacket" );

        readStream.Start( packetData );

        bool result = true;

        try
        {
            packetSerializer.ReadServerInfoPacket( readStream, clientConnected, clientUserId, clientUserName );
        }
        catch ( Network.SerializeException )
        {
            Debug.Log( "error: failed to read server info packet" );
            result = false;
        }

        readStream.Finish();

        Profiler.EndSample();

        return result;
    }
Exemple #3
0
    protected bool ReadGameEventPacket( byte[] packetData, ref PacketSerializer.GameEvent eventType, ref ushort senderId, ref ushort targetId, ref ushort[] perClientData )
    {
        Profiler.BeginSample("ReadGameEventPacket");

        readStream.Start(packetData);

        bool result = true;

        try
        {
            packetSerializer.ReadGameEventPacket(readStream, ref eventType, ref senderId, ref targetId, ref perClientData);
        }
        catch (Network.SerializeException)
        {
            Debug.Log("error: failed to read server info packet");
            result = false;
        }

        readStream.Finish();

        Profiler.EndSample();

        return result;
    }
Exemple #4
0
    static void test_serialization()
    {
        Debug.Log("test_serialization");

        const int MaxPacketSize = 1024;

        var serializer = new TestSerializer();

        var buffer = new uint[MaxPacketSize / 4];

        var writeStream = new Network.WriteStream();

        writeStream.Start(buffer);

        TestStruct input;

        input.bool_value = true;
        input.int_value  = -5;
        input.uint_value = 215;
        input.bits_value = 12345;

        serializer.WriteTestStruct(writeStream, ref input);

        writeStream.Finish();

        byte[] packet = writeStream.GetData();

        var readStream = new Network.ReadStream();

        readStream.Start(packet);

        TestStruct output;

        serializer.ReadTestStruct(readStream, out output);

        readStream.Finish();

        Assert.AreEqual(input.bool_value, output.bool_value);
        Assert.AreEqual(input.int_value, output.int_value);
        Assert.AreEqual(input.uint_value, output.uint_value);
        Assert.AreEqual(input.bits_value, output.bits_value);
    }
Exemple #5
0
    protected bool ReadStateUpdatePacket(byte[] packetData, ref byte isAvatar, ref int objNum, ref bool shotLight, ref int potionNum, ref bool hasParent, ref State cubeState)
    {
        readStream.Start(packetData);

        bool result = true;

        try
        {
            packetSerializer.ReadHeader(readStream, ref isAvatar, ref objNum, ref shotLight, ref potionNum, ref hasParent, ref cubeState);
        }
        catch (Network.SerializeException)
        {
            Debug.Log("error: failed to read state update packet");

            result = false;
        }

        readStream.Finish();
        return(result);
    }