Example #1
0
        public static Vector2di startCamera(MetaioCamera camera)
        {
            metaio.unitycommunication.StartCameraProtocol protocol = metaio.unitycommunication.StartCameraProtocol.CreateBuilder().SetCamera(camera.ToPB()).Build();

            using (MemoryStream stream = new MemoryStream())
            {
                protocol.WriteTo(stream);

                byte[]   buf         = stream.ToArray();
                GCHandle arrayHandle = GCHandle.Alloc(buf, GCHandleType.Pinned);
                try
                {
                    usingCamera     = true;
                    requestedCamera = camera.Clone();
                    Vector2di ret;
                    checked
                    {
                        IntPtr ptr = arrayHandle.AddrOfPinnedObject();
                        ret = parseUInt64ToVector2diUnsigned(startCameraInternal(ptr, (uint)buf.LongLength));
                    }
                    metaioCamera.updateCameraProjectionMatrix();
                    return(ret);
                }
                finally
                {
                    arrayHandle.Free();
                }
            }
        }
Example #2
0
        public static Vector2di startCamera(MetaioCamera camera)
        {
            metaio.unitycommunication.StartCameraProtocol protocol = metaio.unitycommunication.StartCameraProtocol.CreateBuilder().SetCamera(camera.ToPB()).Build();

            using(MemoryStream stream = new MemoryStream())
            {
            protocol.WriteTo(stream);

            byte[] buf = stream.ToArray();
            GCHandle arrayHandle = GCHandle.Alloc(buf, GCHandleType.Pinned);
            try
            {
                Vector2di ret;
                checked
                {
                    IntPtr ptr = arrayHandle.AddrOfPinnedObject();
                    ret = parseUInt64ToVector2diUnsigned(startCameraInternal(ptr, (uint)buf.LongLength));
                }
                metaioCamera.updateCameraProjectionMatrix();
                return ret;
            }
            finally
            {
                arrayHandle.Free();
            }
            }
        }