Пример #1
0
        // Use this for initialization
        void Start()
        {
            ARSubsystemManager.subsystemFilter = m_subsystemFilter;

            IPAddressText.text = GetLocalIPAddress();

            Screen.sleepTimeout = SleepTimeout.NeverSleep;

            dataReceiver = new DataReceiver(screenStreamer, null);

            dataReceiver.HelloMessageCallback = (legacyPath) =>
            {
                isLegacyPath = legacyPath;
                isConnected  = true;

                if (remotePath == null)
                {
                    didStart = false;

                    if (isLegacyPath)
                    {
                        remotePath = new LegacyRemotePath();
                    }
                    else
                    {
                        remotePath = new ARRemotePath(dataReceiver);
                        (remotePath as ARRemotePath).SetCamera(arCamera);
                        (remotePath as ARRemotePath).SetSyncFrame(syncedFrame);
                    }
                }
            };

            // Create legacy direct connection provider
            connectionProvider = new DirectConnectionProvider();
            ((DirectConnectionProvider)connectionProvider).hasNoDelay = true;

            connectionProvider.OnDisconnected   += ConnectionProvider_OnDisconnected;
            connectionProvider.OnDataReceived   += ConnectionProvider_OnDataReceived;
            connectionProvider.OnStreamReceived += ConnectionProvider_OnStreamReceived;

            connectionProvider.Initialize();
            connectionProvider.StartListening();

            // register the callback when enabling object
            Camera.onPreRender  += MyPreRender;
            Camera.onPostRender += MyPostRender;

            Client = new UdpClient(AddressFamily.InterNetwork);

#if ENABLE_BROADCAST
            StartCoroutine(BroadcastIPAddress());
#endif
        }