Exemplo n.º 1
0
        public void UpdatePath()
        {
            DefferedInit();

            if (dataSender != null)
            {
                dataSender.SendDeviceOrientation(connectionProvider);
                dataSender.SendOptions(connectionProvider);

                // Add accelerometer data
                if (SystemInfo.supportsAccelerometer)
                {
                    dataSender.SendAccelerometerInput(connectionProvider);
                }

                // Add gyroscope data
                if (SystemInfo.supportsGyroscope)
                {
                    dataSender.SendGyroscopeSettings(connectionProvider);
                }
                if (Input.gyro.enabled)
                {
                    dataSender.SendGyroscopeInput(connectionProvider);
                }

                // Add touch data
                if (Input.touchCount > 0)
                {
                    dataSender.SendTouchInput(connectionProvider);
                }

                //dataSender.SendJoystickNames(connectionProvider);
                //dataSender.SendJoystickInput(connectionProvider);

                SendWebCamStreams(connectionProvider);

                /*
                 * // Add location services (GPS) and compass data
                 * if (SystemInfo.supportsLocationService)
                 *  dataSender.SendLocationServiceData(connectionProvider);
                 *
                 * dataSender.SendCompassData(connectionProvider);
                 */
            }

            if (connectionProvider != null)
            {
                connectionProvider.Update();
            }
        }
Exemplo n.º 2
0
        // Update is called once per frame
        void Update()
        {
            if (!isConnected)
            {
                if (connectionProvider != null)
                {
                    connectionProvider.Update();
                }

                return;
            }
            else if (remotePath != null)
            {
                if (didStart == false)
                {
                    didStart = true;
                    remotePath.Start(connectionProvider, screenStreamer);
                    MainMenu.SetActive(false);
                }

                remotePath.UpdatePath();
            }
        }
Exemplo n.º 3
0
        public void UpdatePath()
        {
            DefferedInit();

            if (!defferedInit)
            {
                return;
            }

            if (connectionProviderAR != null && !arConnected)
            {
                connectionProviderAR.Update();
            }

            if (connectionProvider != null)
            {
                connectionProvider.Update();
            }

            if (connectionProviderDefferredCalls != null)
            {
                connectionProviderDefferredCalls.Update();
            }

            if (dataSender != null)
            {
                if (streamingDataReceiver.frames.Count == 0)
                {
                    if ((int)Screen.orientation != m_lastOrientation)
                    {
                        dataSender.SendDeviceOrientation(connectionProvider);
                        m_lastOrientation = (int)Screen.orientation;
                    }

                    if (Screen.width != m_lastWidth || Screen.height != m_lastHeight)
                    {
                        m_lastHeight = Screen.height;
                        m_lastWidth  = Screen.width;
                        dataSender.SendOptions(connectionProvider);
                    }

                    // Add accelerometer data
                    if (SystemInfo.supportsAccelerometer)
                    {
                        dataSender.SendAccelerometerInput(connectionProvider);
                    }

                    // Add gyroscope data
                    if (SystemInfo.supportsGyroscope)
                    {
                        dataSender.SendGyroscopeSettings(connectionProvider);
                    }

                    if (Input.gyro.enabled)
                    {
                        dataSender.SendGyroscopeInput(connectionProvider);
                    }

                    // Add touch data
                    //if (Input.touchCount > 0)
                    //dataSender.SendTouchInput(connectionProvider);

                    //dataSender.SendJoystickNames(connectionProvider);
                    //dataSender.SendJoystickInput(connectionProvider);

                    SendWebCamStreams(connectionProvider);

                    /*
                     * // Add location services (GPS) and compass data
                     * if (SystemInfo.supportsLocationService)
                     *  dataSender.SendLocationServiceData(connectionProvider);
                     *
                     * dataSender.SendCompassData(connectionProvider);
                     */

                    streamingDataReceiver.SetAwaitingFrameId(pendingId, null);

                    timeFrame = DateTime.UtcNow;

                    pendingId = timeFrame.Ticks;

                    if (arCamera != null)
                    {
                        dataSender.SendCameraData(connectionProvider, arCamera, timeFrame);
                    }

                    if (m_hasARFrameDataToSend)
                    {
                        m_hasARFrameDataToSend = false;
                        m_hasARFrameImageToSet = true;
                        dataSender.SendFrameReceived(connectionProvider, m_ARFrameDataToSend);

                        #region Preview AR Stream

                        //if (sendARPreview)
                        {
                            var activeRenderTexture = RenderTexture.active;
                            RenderTexture.active = toStream;
                            if (m_CachedCameraTexture == null)
                            {
                                m_CachedCameraTexture = new Texture2D(toStream.width, toStream.height,
                                                                      TextureFormat.RGB24, false);
                            }

                            m_CachedCameraTexture.ReadPixels(new Rect(0, 0, toStream.width, toStream.height), 0, 0);
                            m_CachedCameraTexture.Apply(false);

                            RenderTexture.active = activeRenderTexture;

                            dataSender.SendCustomData(connectionProvider, (PacketWriter writer) =>
                            {
                                var data = m_CachedCameraTexture.EncodeToJPG(70);
                                writer.Write(data.Length);
                                writer.Write(data);
                                writer.Write((int)m_CachedCameraTexture.format);
                                writer.Write(m_CachedCameraTexture.width);
                                writer.Write(m_CachedCameraTexture.height);
                                return(0);
                            }, 100);
                        }

                        #endregion
                    }
                }
            }

            if (connectionProvider != null)
            {
                connectionProvider.Update();
            }

            if (connectionProviderDefferredCalls != null)
            {
                connectionProviderDefferredCalls.Update();
            }
        }