コード例 #1
0
        private void ShowFactorOption()
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PrefixLabel("Downscale Factor");
            EditorGUI.BeginChangeCheck();
            ScaleFactor = EditorGUILayout.IntSlider(ScaleFactor, 1, 10);


            if (EditorGUI.EndChangeCheck())
            {
                GameViewScreenHelper.Rescale(ScaleFactor);
            }

            EditorGUILayout.EndHorizontal();
        }
        // Use this for initialization
        void OnEnableConnection()
        {
            m_connectionStatus = ConnectionStatus.Disconnected;

            m_dataSender = new EditorDataSender();

#if NET_4_6
            m_dataSender.ShouldEnableCompression = true;
#endif

            standardConnectionProvider       = new DirectConnectionProvider();
            streamingConnectionProvider      = new DirectConnectionProvider();
            separateThreadConnectionProvider = new DirectConnectionProvider();

            m_nativeProxy = new XRSDKMockProxy();
            m_nativeProxy.ConnectionProvider = standardConnectionProvider;
            m_nativeProxy.SeparateThreadConnectionProvider = separateThreadConnectionProvider;
            m_nativeProxy.DataSender = m_dataSender;

            AddProxy(m_nativeProxy);

            GameViewScreenHelper.ScaleFactor = ScaleFactor;

            if (m_streamingDataReceiver == null)
            {
                m_streamingDataReceiver = new DataReceiver(m_proxies);
            }

            if (m_standardDataReceiver == null)
            {
                m_standardDataReceiver = new DataReceiver(m_proxies);
                m_standardDataReceiver.ReadyToScreenStream = () => { m_readyToStream = true; };
                m_standardDataReceiver.OnOptionsReceived   = (int w, int h, int orientation, bool assignToCurrent) =>
                {
                    GameViewScreenHelper.SetUpGameView(w, h, orientation, assignToCurrent);
                    GameViewScreenHelper.Rescale(ScaleFactor);
                };
            }

            m_nativeProxy.Initialize();
            m_nativeProxy.SetCamera(cameraToStream);
            m_standardDataReceiver.cameraMain = cameraToStream;

            var videoMaterial = new Material(Shader.Find("Standard"));

            m_standardDataReceiver.mat  = videoMaterial;
            m_streamingDataReceiver.mat = videoMaterial;

            standardConnectionProvider.OnConnected      += ConnectionProvider_OnConnected;
            standardConnectionProvider.OnDisconnected   += ConnectionProvider_OnDisconnected;
            standardConnectionProvider.OnDataReceived   += ConnectionProvider_OnDataReceived;
            standardConnectionProvider.OnStreamReceived += ConnectionProvider_OnStreamReceived;

            m_standardDataReceiver.OnCustomDataReceived += HandleCustomData;

            streamingConnectionProvider.OnDataReceived   += OnStreamingDataReceived;
            streamingConnectionProvider.OnStreamReceived += OnStreamingStreamReceived;
            streamingConnectionProvider.SetRemotePort(standardPort);

            m_playbackState   = PlaybackState.Stopped;
            lastProcessedTime = 0;
            lastIndex         = 0;
        }