Browse Source

MQTT username 获取方式更新

DGJ 1 year ago
parent
commit
75668220b5

+ 7 - 1
Assets/Script/MQTTClient.cs

@@ -11,7 +11,7 @@ public class MQTTClient : MonoSingleton<MQTTClient>
 {
     string front = "client/";
     string id = ""; 
-    string username = "u@unity1";// 需要根据服务器设置
+    string username = "u@unity3";// 需要根据服务器设置
     string password = null;// 需要根据服务器设置
     string rid = "mqttx_b4c02ddc"; //其他人的ID
     QTTManager qt;
@@ -98,10 +98,16 @@ public class MQTTClient : MonoSingleton<MQTTClient>
         DisConnect();
     }
 
+    public void SetUserName(string username)
+    {
+        if (username != null)
+            this.username = username;
+    }
 
     //连接
     public void Connect()
     {
+        Debug.Log("DGJ ===> MQTT Connect ");
         if (DeviceType.type == "Phone")
         {
             id =UserInfo.Instance.Account + "_Phone";

+ 7 - 3
Assets/Scripts/LayoutTemplate/TemplateVideo.cs

@@ -49,7 +49,13 @@ public class TemplateVideo : BaseTemPlate
         MediaPlayer = transform.Find("Screen/AVideo").GetComponent<MediaPlayer>();
         HideCollider();
 
-        if(!UserInfo.Instance.is20)
+      
+           
+    }
+
+    private void Start()
+    {
+        if (!UserInfo.Instance.is20)
         {
             videoid = transform.name;
             spid = transform.parent.parent.name;
@@ -57,9 +63,7 @@ public class TemplateVideo : BaseTemPlate
             transform.GetComponent<VideoPlayBtn>().spid = spid;
             transform.GetComponent<VideoPlayBtn>().videoid = videoid;
         }
-           
     }
-
     private void Update()
     {
         if((MediaPlayer.Info.GetVideoHeight()!=0 || MediaPlayer.Info.GetVideoWidth()!=0) && setScale )

+ 2 - 1
Assets/Scripts/LayoutTemplate/VideoPlayBtn.cs

@@ -35,7 +35,8 @@ public class VideoPlayBtn : MonoBehaviour
         }
         m_IsPlaying = !m_IsPlaying;
 
-        MQTTClient.Instance.sendActiveVideo(spid, videoid, m_IsPlaying, -1);
+        if (spid != null)
+            MQTTClient.Instance.sendActiveVideo(spid, videoid, m_IsPlaying, -1);
     }
 
 }

+ 5 - 0
Assets/Scripts/MultiPlayer/MultiPlayerManager.cs

@@ -71,6 +71,11 @@ public class MultiPlayerManager : MonoSingleton<MultiPlayerManager>
 
         string spid = JsonConvert.DeserializeObject<string>("\"" + data["spid"].ToString() + "\"");
         Debug.Log("DGJ ====>   " + spid);
+
+        foreach (var item in dicSpoitValue)
+        {
+            Debug.Log("DGJ ====> " + item.Key);
+        }
         dicSpoitValue[spid].spoitObj.SetActive(bool.Parse(data["isOpen"].ToString()));
     }
 

+ 5 - 1
Assets/Scripts/UI/GameManager.cs

@@ -991,10 +991,14 @@ public class GameManager : MonoSingleton<GameManager>
     /// </summary>
     private void CreateMaterial(SpoitValue spoit, out SpoitValue newspoit)
     {
+        
         var spoitValues = ObjectValues[spoit.id];
         var spoitObj = spoitValues.Object;
         Debug.Log("DGJ ===> 创建整体素材  "+ spoit.material.Count);
-
+        SyncSpoit syncSpoit = new SyncSpoit();
+        syncSpoit.spoitId = spoit.name;
+        syncSpoit.spoitObj = spoitObj;
+        MultiPlayerManager.Instance.dicSpoitValue.Add(spoit.name, syncSpoit);
         if(!UserInfo.Instance.is20)
 
 

+ 1 - 3
Assets/Scripts/UI/LoginPanel.cs

@@ -394,9 +394,7 @@ public class LoginPanel : BaseUI
             }
             else if (int.Parse(jobect["data"]["type"].ToString()) == 1)
             {
-                //MQTTClinet  连接
-                MQTTClient.Instance.Connect();
-
+              
 
                 Debug.Log(jobect["data"]["type"].ToString());
                StartCoroutine( LoginCallBackYS(2));

+ 18 - 0
Assets/Scripts/UI/SceneChoose.cs

@@ -129,6 +129,24 @@ public class SceneChoose : BaseUI
                     m_OkBtn.interactable = true;
                 }
             });
+
+            if(!UserInfo.Instance.is20)
+            HttpTool.Instance.Get("/user/emqx/authentication",  (msg) =>
+            {
+                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
         {