Ejemplo n.º 1
0
 static WindowsMRRemotingConnector GetConnector()
 {
     if (s_Connector == null)
     {
         var go = GameObject.Find("~wmrconnector");
         if (go == null)
         {
             go           = new GameObject("~wmrconnector");
             go.hideFlags = HideFlags.HideAndDontSave;
         }
         s_Connector = go.AddComponent <WindowsMRRemotingConnector>();
     }
     return(s_Connector);
 }
 static void Disconnect()
 {
     if (WindowsMREmulation.mode == WindowsMREmulationMode.Remoting && WindowsMRRemoting.isConnected)
     {
         var connector = GetConnector();
         if (EditorApplication.isPlaying && s_RemoteSettings.autoConnectOnPlay && connector)
         {
             connector.StopRemotingConnection();
             GameObject.Destroy(s_Connector);
             s_Connector = null;
         }
         else
         {
             WindowsMRRemoting.Disconnect();
         }
     }
 }
Ejemplo n.º 3
0
        static void OnPlayModeStateChanged(PlayModeStateChange stateChange)
        {
            var connector = GetConnector();

            switch (stateChange)
            {
            case PlayModeStateChange.EnteredEditMode:
                LoadSettings();
                break;

            case PlayModeStateChange.ExitingEditMode:
                SaveSettings();
                break;

            case PlayModeStateChange.EnteredPlayMode:
                LoadSettings();
                if (WindowsMREmulation.mode == WindowsMREmulationMode.Remoting && connector)
                {
                    if (string.IsNullOrEmpty(s_RemoteSettings.m_RemoteMachineName))
                    {
                        Debug.LogError("Atempting to initiate remoting connection with no valid machine name set.");
                        return;
                    }
                    connector.StartRemotingConnection(
                        s_RemoteSettings.m_RemoteMachineName,
                        s_RemoteSettings.m_EnableAudio,
                        s_RemoteSettings.m_EnableVideo,
                        s_RemoteSettings.m_MaxBitRateKbps);
                }

                break;

            case PlayModeStateChange.ExitingPlayMode:
                if (WindowsMREmulation.mode == WindowsMREmulationMode.Remoting && WindowsMRRemoting.isConnected && connector)
                {
                    connector.StopRemotingConnection();
                    GameObject.Destroy(s_Connector);
                    s_Connector = null;
                }
                break;
            }
        }