Пример #1
0
    protected bool WriteGameEventPacket( PacketSerializer.GameEvent eventType, ushort senderId, ushort targetId, ushort[] perClientData ) {
        Profiler.BeginSample("WriteGameEventPacket");

        writeStream.Start(packetBuffer);

        bool result = true;

        try
        {
            packetSerializer.WriteGameEventPacket(writeStream, eventType, senderId, targetId, perClientData);
            writeStream.Finish();
        }
        catch (Network.SerializeException)
        {
            Debug.Log("error: failed to write game event packet");
            result = false;
        }

        Profiler.EndSample();

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

        writeStream.Start( packetBuffer );

        bool result = true;

        try
        {
            packetSerializer.WriteServerInfoPacket( writeStream, clientConnected, clientUserId, clientUserName );

            writeStream.Finish();
        }
        catch ( Network.SerializeException )
        {
            Debug.Log( "error: failed to write server info packet" );
            result = false;
        }

        Profiler.EndSample();

        return result;
    }
Пример #3
0
    protected bool WriteStateUpdatePacket(int objNum, bool shotLight, int potionNum, bool hasParent, ref State cubeState)
    {
        writeStream.Start(packetBuffer);

        bool result = true;

        try
        {
            packetSerializer.WriteHeader(writeStream, 00000000, objNum, shotLight, potionNum, hasParent, cubeState);

            writeStream.Finish();
        }
        catch (Network.SerializeException)
        {
            Debug.Log("error: failed to write state update packet packet");
            result = false;
        }
        return(result);
    }
Пример #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);
    }