Esempio n. 1
0
    byte[] Pack(Transform transform)
    {
        var data = new byte[10 * 4];
        var union32 = new MessageEncoder.Union32();

        var pos = transform.localPosition;
        var scl = transform.localScale;
        var rot = transform.localRotation;
        for (var i = 0; i < 3; i++) {
            union32.floatdata = pos[i];
            union32.Pack(data, i * 4);
        }
        for (var i = 0; i < 3; i++) {
            union32.floatdata = scl[i];
            union32.Pack(data, 12 + i * 4);
        }
        for (var i = 0; i < 4; i++) {
            union32.floatdata = rot[i];
            union32.Pack(data, 24 + i * 4);
        }

        return data;
    }
Esempio n. 2
0
    void Unpack(byte[] data, Transform outTransform)
    {
        var union32 = new MessageEncoder.Union32();
        var pos = Vector3.zero;
        var scl = Vector3.zero;
        var rot = Quaternion.identity;

        for (var i = 0; i < 3; i++) {
            union32.Unpack(data, i * 4);
            pos[i] = union32.floatdata;
        }
        for (var i = 0; i < 3; i++) {
            union32.Unpack(data, 12 + i * 4);
            scl[i] = union32.floatdata;
        }
        for (var i = 0; i < 4; i++) {
            union32.Unpack(data, 24 + i * 4);
            rot[i] = union32.floatdata;
        }
        outTransform.localPosition = pos;
        outTransform.localScale = scl;
        outTransform.localRotation = rot;
    }
Esempio n. 3
0
 float ReadFloat32()
 {
     var union32 = new MessageEncoder.Union32();
     union32.Unpack(readBuffer, readPoint);
     readPoint += 4;
     return union32.floatdata;
 }