示例#1
0
        private void Update()
        {
            switch (this.m_Mode)
            {
            case EmulationMode.Simulated:
                PerceptionSimulation.SetGestureHand(this.m_Hand);
                break;

            case EmulationMode.RemoteDevice:
            {
                HolographicStreamerConnectionState connectionState = this.m_ConnectionState;
                this.m_ConnectionState = PerceptionRemotingPlugin.GetConnectionState();
                if (connectionState != this.m_ConnectionState)
                {
                    base.Repaint();
                }
                HolographicStreamerConnectionFailureReason reason = PerceptionRemotingPlugin.CheckForDisconnect();
                if ((reason == HolographicStreamerConnectionFailureReason.Unreachable) || (reason == HolographicStreamerConnectionFailureReason.ConnectionLost))
                {
                    Debug.LogWarning("Disconnected with failure reason " + reason + ", attempting to reconnect.");
                    this.Connect();
                }
                else if (reason != HolographicStreamerConnectionFailureReason.None)
                {
                    Debug.LogError("Disconnected with error " + reason);
                }
                break;
            }
            }
        }
        void Update()
        {
            switch (m_Mode)
            {
            case EmulationMode.Simulated:
                HolographicEmulation.SetGestureHand(m_Hand);
                break;

            case EmulationMode.RemoteDevice:
                HolographicStreamerConnectionState connectionState = PerceptionRemotingPlugin.GetConnectionState();
                if (connectionState != m_LastConnectionState)
                {
                    Repaint();
                }
                var lastConnectionFailureReason = PerceptionRemotingPlugin.CheckForDisconnect();
                if (lastConnectionFailureReason == HolographicStreamerConnectionFailureReason.Unreachable ||
                    lastConnectionFailureReason == HolographicStreamerConnectionFailureReason.ConnectionLost)
                {
                    Debug.LogWarning("Disconnected with failure reason " + lastConnectionFailureReason + ", attempting to reconnect.");
                    Connect();
                }
                else if (lastConnectionFailureReason != HolographicStreamerConnectionFailureReason.None)
                {
                    Debug.LogError("Disconnected with error " + lastConnectionFailureReason);
                }
                m_LastConnectionState = connectionState;
                break;
            }
        }
示例#3
0
        private void Update()
        {
            EmulationMode mode = this.m_Mode;

            if (mode != EmulationMode.Simulated)
            {
                if (mode == EmulationMode.RemoteDevice)
                {
                    HolographicStreamerConnectionState connectionState = PerceptionRemotingPlugin.GetConnectionState();
                    if (connectionState != this.m_LastConnectionState)
                    {
                        base.Repaint();
                    }
                    HolographicStreamerConnectionFailureReason holographicStreamerConnectionFailureReason = PerceptionRemotingPlugin.CheckForDisconnect();
                    if (holographicStreamerConnectionFailureReason == HolographicStreamerConnectionFailureReason.Unreachable || holographicStreamerConnectionFailureReason == HolographicStreamerConnectionFailureReason.ConnectionLost)
                    {
                        Debug.LogWarning("Disconnected with failure reason " + holographicStreamerConnectionFailureReason + ", attempting to reconnect.");
                        this.Connect();
                    }
                    else if (holographicStreamerConnectionFailureReason != HolographicStreamerConnectionFailureReason.None)
                    {
                        Debug.LogError("Disconnected with error " + holographicStreamerConnectionFailureReason);
                    }
                    this.m_LastConnectionState = connectionState;
                }
            }
            else
            {
                HolographicEmulation.SetGestureHand(this.m_Hand);
            }
        }
示例#4
0
 private void HandleButtonPress()
 {
     if (EditorApplication.isPlayingOrWillChangePlaymode)
     {
         Debug.LogError("Unable to connect / disconnect remoting while playing.");
     }
     else
     {
         HolographicStreamerConnectionState connectionState = PerceptionRemotingPlugin.GetConnectionState();
         if (connectionState == HolographicStreamerConnectionState.Connecting || connectionState == HolographicStreamerConnectionState.Connected)
         {
             this.Disconnect();
         }
         else if (this.RemoteMachineNameSpecified)
         {
             this.Connect();
         }
         else
         {
             Debug.LogError("Cannot connect without a remote machine address specified");
         }
     }
 }
        void Update()
        {
            if (!IsWindowsMixedRealityCurrentTarget())
            {
                return;
            }

            switch (m_Mode)
            {
            case EmulationMode.None:
                break;

            case EmulationMode.Simulated:
                HolographicAutomation.SetPlaymodeInputType(m_InputType);
                break;

            case EmulationMode.RemoteDevice:
                HolographicStreamerConnectionState connectionState = PerceptionRemoting.GetConnectionState();
                if (connectionState != m_LastConnectionState)
                {
                    Repaint();
                }
                var lastConnectionFailureReason = PerceptionRemoting.CheckForDisconnect();
                if (lastConnectionFailureReason == HolographicStreamerConnectionFailureReason.Unreachable ||
                    lastConnectionFailureReason == HolographicStreamerConnectionFailureReason.ConnectionLost)
                {
                    Debug.LogWarning("Disconnected with failure reason " + lastConnectionFailureReason + ", attempting to reconnect.");
                    Connect();
                }
                else if (lastConnectionFailureReason != HolographicStreamerConnectionFailureReason.None)
                {
                    Debug.LogError("Disconnected with error " + lastConnectionFailureReason);
                }
                m_LastConnectionState = connectionState;
                break;
            }
        }
        void ConnectionStateGUI()
        {
            if (s_ConnectedTexture == null)
            {
                s_ConnectedTexture    = EditorGUIUtility.LoadIconRequired("sv_icon_dot3_sml");
                s_ConnectingTexture   = EditorGUIUtility.LoadIconRequired("sv_icon_dot4_sml");
                s_DisconnectedTexture = EditorGUIUtility.LoadIconRequired("sv_icon_dot6_sml");
            }

            Texture2D  iconTexture;
            GUIContent labelContent;
            GUIContent buttonContent;
            HolographicStreamerConnectionState connectionState = PerceptionRemotingPlugin.GetConnectionState();

            switch (connectionState)
            {
            case HolographicStreamerConnectionState.Disconnected:
            default:
                iconTexture   = s_DisconnectedTexture;
                labelContent  = s_ConnectionStateDisconnectedText;
                buttonContent = s_ConnectionButtonConnectText;
                break;

            case HolographicStreamerConnectionState.Connecting:
                iconTexture   = s_ConnectingTexture;
                labelContent  = s_ConnectionStateConnectingText;
                buttonContent = s_ConnectionButtonDisconnectText;
                break;

            case HolographicStreamerConnectionState.Connected:
                iconTexture   = s_ConnectedTexture;
                labelContent  = s_ConnectionStateConnectedText;
                buttonContent = s_ConnectionButtonDisconnectText;
                break;
            }

            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.PrefixLabel(s_ConnectionStatusText, "Button");
            float iconSize = EditorGUIUtility.singleLineHeight;
            Rect  iconRect = GUILayoutUtility.GetRect(iconSize, iconSize, GUILayout.ExpandWidth(false));

            GUI.DrawTexture(iconRect, iconTexture);
            EditorGUILayout.LabelField(labelContent);

            EditorGUILayout.EndHorizontal();

            EditorGUI.BeginDisabledGroup(m_InPlayMode);
            bool pressed = EditorGUILayout.DropdownButton(buttonContent, FocusType.Passive, EditorStyles.miniButton);

            EditorGUI.EndDisabledGroup();

            if (pressed)
            {
                if (EditorGUIUtility.editingTextField)
                {
                    EditorGUIUtility.editingTextField = false;
                    GUIUtility.keyboardControl        = 0;
                }
                //we delay the call to let the RemoteMachineAddress control commit the value
                EditorApplication.CallDelayed(() =>
                {
                    HandleButtonPress();
                }, 0f);
            }
        }
        private void Update()
        {
            switch (this.m_Mode)
            {
                case EmulationMode.Simulated:
                    PerceptionSimulation.SetGestureHand(this.m_Hand);
                    break;

                case EmulationMode.RemoteDevice:
                {
                    HolographicStreamerConnectionState connectionState = this.m_ConnectionState;
                    this.m_ConnectionState = PerceptionRemotingPlugin.GetConnectionState();
                    if (connectionState != this.m_ConnectionState)
                    {
                        base.Repaint();
                    }
                    HolographicStreamerConnectionFailureReason reason = PerceptionRemotingPlugin.CheckForDisconnect();
                    if ((reason == HolographicStreamerConnectionFailureReason.Unreachable) || (reason == HolographicStreamerConnectionFailureReason.ConnectionLost))
                    {
                        Debug.LogWarning("Disconnected with failure reason " + reason + ", attempting to reconnect.");
                        this.Connect();
                    }
                    else if (reason != HolographicStreamerConnectionFailureReason.None)
                    {
                        Debug.LogError("Disconnected with error " + reason);
                    }
                    break;
                }
            }
        }