Browse Source

多人交互完结版

DGJ 1 year ago
parent
commit
e5ed697e93

+ 1 - 1
Assets/COSScripts/DownloadResManager.cs

@@ -125,7 +125,7 @@ public class DownloadResManager : MonoSingleton<DownloadResManager>
         {
 
             yield return new WaitForFixedUpdate();
-            Debug.Log("DGJ  ====> DownLoadFile 2");
+          //  Debug.Log("DGJ  ====> DownLoadFile 2");
             if (qDownload.Count > 0 && nowDownLoad < maxDownLoad)
             {
                 nowDownLoad++;

+ 18 - 0
Assets/Plugins/Android/AndroidManifest.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools" android:installLocation="preferExternal">
+  <uses-sdk tools:overrideLibrary="com.nreal.glasses_sdk" />
+  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
+  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+  <application android:theme="@style/UnityThemeSelector" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:requestLegacyExternalStorage="true">
+    <activity android:name="com.unity3d.player.UnityPlayerActivity">
+      <intent-filter>
+        <action android:name="android.intent.action.MAIN" />
+        <category android:name="android.intent.category.LAUNCHER" />
+      </intent-filter>
+    </activity>
+    <meta-data android:name="nreal_sdk" android:value="true" />
+    <meta-data android:name="com.nreal.supportDevices" android:value="NrealLight|NrealAir" />
+  </application>
+  <uses-permission android:name="android.permission.BLUETOOTH" />
+</manifest>

+ 2 - 2
Assets/StreamingAssets/emqxsl-ca.crt.meta → Assets/Plugins/Android/AndroidManifest.xml.meta

@@ -1,6 +1,6 @@
 fileFormatVersion: 2
-guid: fe2144a6ed261d34dab91967cdf4472b
-DefaultImporter:
+guid: 30291d7acd6b0e4459a6edcaf8b954ca
+TextScriptImporter:
   externalObjects: {}
   userData: 
   assetBundleName: 

+ 1 - 1
Assets/Resources/VuforiaConfiguration.asset

@@ -49,4 +49,4 @@ MonoBehaviour:
   webcam:
     renderTextureLayer: 30
   packageInformation:
-    ARFoundationVersion: 4.2.7
+    ARFoundationVersion: 4.2.8

+ 22 - 22
Assets/StreamingAssets/emqxsl-ca.crt → Assets/Resources/emqxsl-ca.bytes

@@ -1,24 +1,24 @@
------BEGIN CERTIFICATE-----
-MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
-CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
-nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
-43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
-T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
-gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
-BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
-TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
-DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
-hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
-06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
-PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
-YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
-CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
+MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
+QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
+MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
+b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
+CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
+nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
+43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
+T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
+gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
+BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
+TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
+DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
+hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
+06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
+PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
+YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
 MIIEqjCCA5KgAwIBAgIQAnmsRYvBskWr+YBTzSybsTANBgkqhkiG9w0BAQsFADBh
@@ -47,4 +47,4 @@ M0r5LUvStcr82QDWYNPaUy4taCQmyaJ+VB+6wxHstSigOlSNF2a6vg4rgexixeiV
 sNE2DpRVMnL8J6xBRdjmOsC3N6cQuKuRXbzByVBjCqAA8t1L0I+9wXJerLPyErjy
 rMKWaBFLmfK/AHNF4ZihwPGOc7w6UHczBZXH5RFzJNnww+WnKuTPI0HfnVH8lg==
 -----END CERTIFICATE-----
-
+

+ 7 - 0
Assets/Resources/emqxsl-ca.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 8e9282c7cf8b8224b95f94fdf482097c
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 25 - 2
Assets/Script/MQTTClient.cs

@@ -4,6 +4,7 @@ using System.Collections;
 using System.Collections.Generic;
 using System.Text;
 using UnityEngine;
+using UnityEngine.Android;
 using uPLibrary.Networking.M2Mqtt.Messages;
 using static QTTManager;
 
@@ -14,10 +15,23 @@ public class MQTTClient : MonoSingleton<MQTTClient>
     string username = "u@unity3";// 需要根据服务器设置
     string password = null;// 需要根据服务器设置
     string rid = "mqttx_b4c02ddc"; //其他人的ID
+
+    public static byte[] bytes;
+   // public static byt ta;
     QTTManager qt;
     // Start is called before the first frame update
     void Start()
     {
+        // 请求文件读取和写入权限
+        if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageRead) ||
+            !Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
+        {
+            Permission.RequestUserPermission(Permission.ExternalStorageRead);
+            Permission.RequestUserPermission(Permission.ExternalStorageWrite);
+        }
+        bytes = (Resources.Load("emqxsl-ca") as TextAsset).bytes;
+        
+        Debug.Log(" DGJ  ===> emqxsl-ca.bytes "+ bytes.Length);
     }
     Queue<MqttMsgPublishEventArgs> rlist = new Queue<MqttMsgPublishEventArgs>();
     private void OnReceived(MqttMsgPublishEventArgs obj)
@@ -108,6 +122,7 @@ public class MQTTClient : MonoSingleton<MQTTClient>
     //连接
     public void Connect()
     {
+      
         Debug.Log("DGJ ===> MQTT ");
         if (DeviceType.type == "Phone")
         {
@@ -217,7 +232,15 @@ public class MQTTClient : MonoSingleton<MQTTClient>
 
     void publish(byte[] bs)
     {
-        Debug.Log(id+"  DGJ  publish =====>  " +  rid+"   " + bs.Length);
-        qt.Publish(rid, bs, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);
+        if(qt.IsConnect())
+        {
+            Debug.Log(id + "  DGJ  publish =====>  " + rid + "   " + bs.Length);
+            qt.Publish(rid, bs, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);
+        }
+        else
+        {
+            Debug.LogError(" MQTT  未连接 ");
+        }
+     
     }
 }

+ 3 - 3
Assets/Scripts/LayoutTemplate/VideoPlayBtn.cs

@@ -8,8 +8,8 @@ public class VideoPlayBtn : MonoBehaviour
     public bool m_IsPlaying;
     public AVProVideoPlayer m_Video;
 
-    public string spid;
-    public string videoid;
+    public string spid = null;
+    public string videoid = null;
     private void Start()
     {
         if (m_Video == null)
@@ -35,7 +35,7 @@ public class VideoPlayBtn : MonoBehaviour
         }
         m_IsPlaying = !m_IsPlaying;
 
-        if (spid != null)
+        if (spid != null&& m_Video!=null&& !UserInfo.Instance.is20)
             MQTTClient.Instance.sendActiveVideo(spid, videoid, m_IsPlaying, -1);
     }
 

+ 43 - 15
Assets/Scripts/UI/SceneChoose.cs

@@ -130,24 +130,31 @@ public class SceneChoose : BaseUI
                 }
             });
 
-            if(!UserInfo.Instance.is20)
-            HttpTool.Instance.Get("/user/emqx/authentication",  (msg) =>
+
+
+            if (!UserInfo.Instance.is20)
             {
-                JObject data = JObject.Parse(msg);
-                Debug.Log("DGJ ===>  MQTT Callback  " + msg);
-                if(data["code"].ToString()=="200")
-                {
-                    //MQTTClinet  连接
-                    MQTTClient.Instance.SetUserName(data["data"]["auth"].ToString());
-                  
-                    MQTTClient.Instance.Connect();
-                }
-                else
+               // StartCoroutine(LoadCRT());
+
+                HttpTool.Instance.Get("/user/emqx/authentication", (msg) =>
                 {
-                    Debug.LogError("MQTT username  请求失败  "+ data["code"].ToString());
-                }
+                    JObject data = JObject.Parse(msg);
+                    Debug.Log("DGJ ===>  MQTT Callback  " + msg);
+                    if (data["code"].ToString() == "200")
+                    {
+                        //MQTTClinet  连接
+                        MQTTClient.Instance.SetUserName(data["data"]["auth"].ToString());
 
-            });
+                        MQTTClient.Instance.Connect();
+                    }
+                    else
+                    {
+                        Debug.LogError("MQTT username  请求失败  " + data["code"].ToString());
+                    }
+
+                });
+            }
+           
         }
         else
         {
@@ -158,6 +165,27 @@ public class SceneChoose : BaseUI
         }
     }
 
+    private IEnumerator LoadCRT()
+    {
+#if UNITY_ANDROID
+
+        string streamingAssetsPath = "jar:file://" + Application.dataPath + "!/assets/";
+        string fileName = "";
+        string filePath = Path.Combine(streamingAssetsPath, fileName);
+
+        Debug.Log("DGJ ===> filePath " + filePath);
+
+        using (WWW www = new WWW(filePath))
+        {
+            yield return www;
+            byte[] bytes = www.bytes;
+           // MQTTClient.Instance.bytes = bytes;
+
+            Debug.Log("DGJ ===> bytes " + bytes.Length);
+        }
+#endif
+    }
+
     private void GetSNInit()
     {
         // 选择场景

+ 6 - 3
ProjectSettings/ProjectSettings.asset

@@ -147,7 +147,10 @@ PlayerSettings:
     16:9: 1
     Others: 1
   bundleVersion: 10.13.3
-  preloadedAssets: []
+  preloadedAssets:
+  - {fileID: -6682207197718421661, guid: 8f422df2931cba0478c1fe8ab232b9a3, type: 2}
+  - {fileID: 3493090336618791480, guid: 2d049ae1db0e2b74c8251022ae6dcb95, type: 2}
+  - {fileID: 4800000, guid: c9f956787b1d945e7b36e0516201fc76, type: 3}
   metroInputSource: 0
   wsaTransparentSwapchain: 0
   m_HolographicPauseOnTrackingLoss: 1
@@ -924,7 +927,6 @@ PlayerSettings:
   metroSplashScreenUseBackgroundColor: 1
   platformCapabilities:
     WindowsStoreApps:
-      EnterpriseAuthentication: False
       OfflineMapsManagement: False
       HumanInterfaceDevice: False
       Location: False
@@ -937,6 +939,7 @@ PlayerSettings:
       InternetClientServer: False
       VideosLibrary: False
       Objects3D: False
+      InternetClient: True
       RemoteSystem: False
       BlockedChatMessages: False
       PhoneCall: False
@@ -958,9 +961,9 @@ PlayerSettings:
       RecordedCallsFolder: False
       Contacts: False
       Proximity: False
-      InternetClient: True
       CodeGeneration: False
       BackgroundMediaPlayback: False
+      EnterpriseAuthentication: False
   metroTargetDeviceFamilies:
     Desktop: False
     Holographic: False