Exemple #1
0
    byte[] StructureToByteArray(cStoredFullGame game)
    {
        int len = Marshal.SizeOf(game);

        Console.WriteLine("Len: " + len);

        byte[] arr = new byte[len];

        IntPtr ptr = Marshal.AllocHGlobal(len);

        try
        {
            Marshal.StructureToPtr(game, ptr, false);
            Marshal.Copy(ptr, arr, 0, len);
        }
        finally
        {
            Marshal.FreeHGlobal(ptr);
        }

        return arr;
    }
Exemple #2
0
    // Envoi du jeux sur le serveur
    public void OpSetFullGame(cStoredFullGame game)
    {
        byte[] buffer = new byte[Marshal.SizeOf(game)];
        Console.WriteLine(Marshal.SizeOf(game));
        buffer = this.StructureToByteArray(game);

        /*for (int i = 0; i < buffer.Length; i++)
            Console.Write(buffer[i]);*/

        OperationRequest op = new OperationRequest
        {
            OperationCode = 253,
            Parameters = new Dictionary<byte, object> { { 100, buffer } }
        };
        try
        {
            this.sendRequest(op, true);
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }
    }