Ejemplo n.º 1
0
        private void OnConnectGUI()
        {
            CalibrationGUILayout.BeginToolbar();
            EditorGUILayout.Space();

            // Because the calibrator server listens on the same port
            // as the client, only allow a local connection in play mode.
            if (Application.isPlaying)
            {
                if (CalibrationGUILayout.ToolbarButton("Local Connect", 120f))
                {
                    this.m_Client.LocalConnect();
                }
            }
            else
            {
                this.m_Host = CalibrationGUILayout.ToolbarTextField(this.m_Host);

                if (CalibrationGUILayout.ToolbarButton("Connect", 120f))
                {
                    this.m_Client.Connect(this.m_Host, true);
                }
            }

            CalibrationGUILayout.EndToolbar();

            EditorGUILayout.BeginHorizontal();
            CalibrationGUILayout.ScrollViewDummy(240f);
            EditorGUILayout.BeginVertical();

            if (this.m_Client.HasStatus(VirtualCalibratorClient.Status.ConnectionFailed))
            {
                EditorGUILayout.HelpBox(GetConnectionFailedText(), MessageType.Error);
            }

            EditorGUILayout.EndVertical();
            EditorGUILayout.EndHorizontal();

            CalibrationGUILayout.BeginLowerToolbar();
            CalibrationGUILayout.EndLowerToolbar();
        }
Ejemplo n.º 2
0
        private void OnCalibrationGUI()
        {
            // Only show the calibration interface if
            // there are available calibrations.
            if (this.m_Client.package.isEmpty)
            {
                EditorGUILayout.BeginHorizontal();
                CalibrationGUILayout.ScrollViewDummy(240f);
                EditorGUILayout.BeginVertical();

                // If the client is connected but not initialized, then it is still syncing.
                if (this.m_Client.HasStatus(VirtualCalibratorClient.Status.Initialized))
                {
                    EditorGUILayout.HelpBox("Unable to load calibration: No cameras detected.", MessageType.Warning);
                }
                else
                {
                    EditorGUILayout.LabelField("Syncing...");
                }

                EditorGUILayout.EndVertical();
                EditorGUILayout.EndHorizontal();

                return;
            }

            var calibrations = this.m_Client.package.calibrations;

            if (this.m_DisplayList.Length < this.m_Client.package.highestVirtualDisplay)
            {
                this.m_DisplayList = GetDisplayList(this.m_Client.package.highestVirtualDisplay);
            }

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.BeginVertical(GUILayout.Width(240f));
            this.m_ScrollPosition = CalibrationGUILayout.BeginScrollView(this.m_ScrollPosition);

            for (int i = 0; i < calibrations.Length; ++i)
            {
                EditorGUILayout.BeginHorizontal();

                if (CalibrationGUILayout.ScrollViewButton(calibrations[i].name, i == this.m_SelectedIndex, GUILayout.Width(180f)))
                {
                    this.m_SelectedIndex = i;
                    EditorGUI.FocusTextInControl(null);
                }

                calibrations[i].virtualDisplay = CalibrationGUILayout.ScrollViewPopup(calibrations[i].virtualDisplay,
                                                                                      this.m_DisplayList, GUILayout.MinWidth(45f));

                EditorGUILayout.EndHorizontal();

                CalibrationGUILayout.ScrollViewSeperator();
            }

            CalibrationGUILayout.EndScrollView();
            CalibrationGUILayout.ScrollViewFlexibleSpace();
            EditorGUILayout.EndVertical();


            EditorGUILayout.BeginVertical();

            OnProjectionCalibrationGUI(ref calibrations[this.m_SelectedIndex]);

            EditorGUILayout.EndVertical();
            EditorGUILayout.EndHorizontal();
        }