Browse Source

RTC 主体逻辑初步完成

DGJ 1 year ago
parent
commit
ae5210ee40

+ 13 - 1
Assets/Game/ScenesManager.cs

@@ -1,4 +1,4 @@
-using SC.XR.Unity;
+using SC.XR.Unity;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -89,8 +89,13 @@ public class ScenesManager
         PopCall = 500102,
 
     }
+
+    private  SceneType onlineSceneType;
+
     private static ScenesManager instance;
 
+  
+
     public static ScenesManager Instance
     {
         get
@@ -152,6 +157,7 @@ public class ScenesManager
     }
     public void showWindow(SceneType sceneType)
     {
+       
         for (int i = 0; i < windows.Count; i++)
         {
             int codeint = windows[i]._sceneType.GetHashCode() / 10000;
@@ -165,6 +171,7 @@ public class ScenesManager
                 {
                     md.Invoke(alist, null);
                 }
+                onlineSceneType = sceneType;
             }
             else
             {
@@ -173,6 +180,11 @@ public class ScenesManager
         }
     }
 
+    public SceneType getWindow()
+    {
+        return onlineSceneType;
+    }
+
     public void initPopUp()
     {
         //   for (int i = 0; i < dlglist[mType.publicInt.GetHashCode()].Count; i++)

+ 14 - 10
Assets/Game/ShowLogin/LangChaoLogin.cs

@@ -27,6 +27,9 @@ namespace GHZLangChao
             mAccount_Input.onEndEdit.AddListener(OnAccountEndEdit);
             mPassword_Input.onEndEdit.AddListener(OnPasswordEndEdit);
             mLogin_Btn.onClick.AddListener(OnClickLogin);
+#if UNITY_EDITOR
+            OnClickLogin();
+#endif
         }
 
         /// <summary>
@@ -83,7 +86,7 @@ namespace GHZLangChao
                     ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
 
                     MQTTManager.Instance.SetAccoutInfo(mAccountStr);
-                    MQTTManager.Instance.Signal();
+                   
                     GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.userinfo, "", UserInfoCallBack));
                 }
                 else
@@ -105,15 +108,16 @@ namespace GHZLangChao
             JObject obj = JObject.Parse(msg);
             if (obj["code"].ToString() == "200")
             {
-                MQTTClient.Instance._username = obj["data"]["name"].ToString();
-                MQTTClient.Instance.roleId = obj["data"]["roleId"].ToString();
-                MQTTClient.Instance.email = obj["data"]["email"].ToString();
-                MQTTClient.Instance.phone = obj["data"]["phone"].ToString();
-                MQTTClient.Instance.resourcePool = obj["data"]["resourcePool"].ToString();
-                MQTTClient.Instance.expertType = obj["data"]["expertType"].ToString();
-
-                MQTTClient.Instance.Subscribe(MQTTClient.Instance.front + "personnel/" + MQTTClient.Instance.resourcePool);
-
+                MQTTManager.Instance._username = obj["data"]["name"].ToString();
+                MQTTManager.Instance.roleId = obj["data"]["roleId"].ToString();
+                MQTTManager.Instance.email = obj["data"]["email"].ToString();
+                MQTTManager.Instance.phone = obj["data"]["phone"].ToString();
+                MQTTManager.Instance.resourcePool = obj["data"]["resourcePool"].ToString();
+                MQTTManager.Instance.expertType = obj["data"]["expertType"].ToString();
+                MQTTManager.Instance.room = obj["data"]["room"].ToString();
+              
+
+                MQTTManager.Instance.Signal();
             }
             else
             {

+ 2 - 0
Assets/Game/ShowSupport/ShowRtc.prefab

@@ -2340,6 +2340,8 @@ MonoBehaviour:
           m_BoolArgument: 0
         m_CallState: 2
   Question: 0
+  questionPanel: {fileID: 547754609261077892}
+  allotPanel: {fileID: 4654481251258314939}
 --- !u!114 &68587665577711952
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 44 - 39
Assets/Game/ShowSupport/SupportControl.cs

@@ -31,7 +31,10 @@ public class SupportControl : AbstractController
     /// </summary>
     public QuestionEnum Question;
 
-    private RTCRoomInfo mRTCRoomInfo;
+    public GameObject questionPanel;
+    public GameObject allotPanel;
+
+
     void Awake()
     {
 #if UNITY_EDITOR
@@ -61,48 +64,14 @@ public class SupportControl : AbstractController
             ShowRtcHistory_Text.color = colorBlue;
         });
 
-        this.RegisterEvent<RTCCreatRoomSuccessEvent>(CreatRoomSuccess).UnRegisterWhenGameObjectDestroyed(gameObject);
         Question = QuestionEnum.NetWork;
 
-        RTCManager.OnUserJoined += OnUserJoined;
-    }
-
-    private void OnUserJoined(string uid)
-    {
-        JsonData data = new JsonData();
-        data["roomId"] = mRTCRoomInfo.roomId.ToString();
-        data["questionCategory"] = (int)Question;
-
-        Debug.Log("DGJ   =====>  " + mRTCRoomInfo.roomId);
 
-        StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.apply, data.ToJson(), message =>
-        {
-            Debug.Log("DGJ ===>  HttpActionLang.apply   " + HttpActionLang.apply + "   " + message);
-            JObject jobject = JObject.Parse(message);
-            if (jobject["code"].ToString() == "200" && !string.IsNullOrWhiteSpace(jobject["data"].ToString()))
-            {
-                Debug.Log("DGJ ===>   ");
-                RTCManager.OnUserJoined -= OnUserJoined;
-            }
-        }));
     }
 
-    private void CreatRoomSuccess(RTCCreatRoomSuccessEvent e)
-    {
-
-        Debug.Log("DGJ   =====>  JoinRoomSuccess");
-        mRTCRoomInfo = JsonConvert.DeserializeObject<RTCRoomInfo>(e.rtcRoomInfo);
-
-     
-     
-
-        UILogManager.Instance.text2.text = mRTCRoomInfo.roomId.ToString();
-        UICallManager.Instance.SetMQTTRoomId(mRTCRoomInfo.roomId.ToString());
-        //
+   
 
-        ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowRoom);
-       // ShowRoom.Instance.gotoWindow(ScenesManager.SceneType.RoomMain);
-    }
+   
     public void showRTC()
     {
         this.GetService<IRTCService>().CreatRoom();
@@ -136,12 +105,29 @@ public class SupportControl : AbstractController
 
     public void ApplyingForAssistance()
     {
-        this.GetService<IRTCService>().CreatRoom();
+        // 如果在房间 直接申请远程协助 
+        // 否则直接创建
+        switch (RTCRoomManager.Instance.rtcState)
+        {
+            case RTCEnum.OFF:              
+                this.GetService<IRTCService>().CreatRoom();
+                break;
+            case RTCEnum.Online:
+            case RTCEnum.ExpertOnline:
+            case RTCEnum.ConterlOnline:
+            case RTCEnum.ALLOnline:
+                RTCRoomManager.Instance.OnLocalUserJoined();
+                break;
+            default:
+                break;
+        }
+
+      
     }
 
     public void LeaveRoom()
     {
-        this.GetService<IRTCService>().LeaveRoom();
+        RTCRoomManager.Instance.LeaveChannel();
     }
 
     /// <summary>
@@ -151,6 +137,7 @@ public class SupportControl : AbstractController
     public void SettingQuest(int question)
     {
         this.Question = (QuestionEnum)question;
+        RTCRoomManager.Instance.question = this.Question;
     }
 
    
@@ -167,6 +154,7 @@ public class SupportControl : AbstractController
     private void OnEnable()
     {
         OnReset?.Invoke();
+        InitPanel(true);
     }
 
     private void Update()
@@ -175,7 +163,24 @@ public class SupportControl : AbstractController
         if (Test) return;
         OnReset?.Invoke();
         */
+
+     
+    }
+
+    private void OnDisable()
+    {
+       
     }
+
+   
+
+    private void InitPanel(bool state)
+    {
+        questionPanel.SetActive(state);
+        allotPanel.SetActive(!state);
+    }
+
+
 }
 
 public enum QuestionEnum

+ 8 - 8
Assets/LangChaoRTC/MediaSoup/RemoteRtc.cs

@@ -29,14 +29,14 @@ public class RemoteRtc : SCRtcManager
     void Start()
     {
 
-        if (DeviceType.type == "DreamGlass")
-        {
-            CustomInfo.mWidth = 640;
-            CustomInfo.mHight = 360;
-        }
-        WSHandler.Rtc.onRtcState += onRtcState;
-        DontDestroyOnLoad(this.gameObject);
-        Instance = this;
+        //if (DeviceType.type == "DreamGlass")
+        //{
+        //    CustomInfo.mWidth = 640;
+        //    CustomInfo.mHight = 360;
+        //}
+        //WSHandler.Rtc.onRtcState += onRtcState;
+        //DontDestroyOnLoad(this.gameObject);
+        //Instance = this;
 
       //  InitCamera();
     }

+ 2 - 2
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Prefab/MsgItem.prefab

@@ -360,8 +360,8 @@ MonoBehaviour:
       m_Calls: []
   m_text: XXXX
   m_isRightToLeft: 0
-  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
-  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontAsset: {fileID: 11400000, guid: 53b37c1f568195149b410dacded90c09, type: 2}
+  m_sharedMaterial: {fileID: 1738077909898060448, guid: 53b37c1f568195149b410dacded90c09, type: 2}
   m_fontSharedMaterials: []
   m_fontMaterial: {fileID: 0}
   m_fontMaterials: []

+ 5 - 5
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Scripts/ArrowList.cs

@@ -1,4 +1,4 @@
-using System.Collections;
+using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
@@ -45,7 +45,7 @@ public class ArrowList : UnitySingleton<ArrowList>
         }
         GameObject obj = Instantiate(arrow) as GameObject;
         //obj.GetComponentInChildren<Text>().text = Valuex + "," + Valuey;
-        obj.transform.position = CameraView.PosChange(Valuex, 1 - Valuey, 1, RemoteRtc.Instance.cam.transform);
+        obj.transform.position = CameraView.PosChange(Valuex, 1 - Valuey, 1, GHZRTCCamera.Instance.cam.transform);
         obj.transform.SetParent(this.transform);
         NewJiantou newJiantou = obj.transform.GetComponent<NewJiantou>();
         if (newJiantou)
@@ -94,13 +94,13 @@ public class ArrowList : UnitySingleton<ArrowList>
     {
         Vector3[] corners = new Vector3[4];
 
-        float halfFOV = (RemoteRtc.Instance.cam.fieldOfView * 0.5f) * Mathf.Deg2Rad;
-        float aspect = RemoteRtc.Instance.cam.aspect;
+        float halfFOV = (GHZRTCCamera.Instance.cam.fieldOfView * 0.5f) * Mathf.Deg2Rad;
+        float aspect = GHZRTCCamera.Instance.cam.aspect;
 
         float height = distance * Mathf.Tan(halfFOV);
         float width = height * aspect;
 
-        Transform tx = RemoteRtc.Instance.cam.transform;
+        Transform tx = GHZRTCCamera.Instance.cam.transform;
 
         // UpperLeft
         corners[0] = tx.position - (tx.right * width);

+ 11 - 2
Assets/LangChaoRTC/Remote/ShowRoom/RoomInvite/Scripts/FileConfig.cs

@@ -1,4 +1,4 @@
-using System.Collections;
+using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
@@ -20,13 +20,22 @@ public class FileConfig
     private string url;
     private string path;
     private string fileName;
-    
+    private string onlineUrl;
+    private string extname;
+    private string objectName;
+    private string bucket;
+
     public string PeerId { get => peerId; set => peerId = value; }
     public string From { get => from; set => from = value; }
     public string CreateTime { get => createTime; set => createTime = value; }
     public string Url { get => url; set => url = value; }
     public string Path { get => path; set => path = value; }
     public string FileName { get => fileName; set => fileName = value; }
+
+    public string OnLineUrl { get => onlineUrl; set => onlineUrl = value; }
+    public string Extname { get => extname; set => extname = value; }
+    public string ObjectName { get => objectName; set => objectName = value; }
+    public string Bucket { get => bucket; set => bucket = value; }
     public RoomFileType FileType
     {
         get

+ 2 - 1
Assets/LangChaoRTC/Remote/ShowRoom/RoomMain.prefab

@@ -2967,6 +2967,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: cc3a1a774dfbb744d93470f300af186b, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  global: 1
   videoOpenBtn: {fileID: 2241088651301450026}
   videoCloseBtn: {fileID: 2241088651471683789}
   audioOpenBtn: {fileID: 2241088651403055102}
@@ -3198,7 +3199,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2316171003018402862}
-  m_Enabled: 0
+  m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
   m_Name: 

+ 17 - 15
Assets/LangChaoRTC/Remote/Z_Blend/CameraView.cs

@@ -1,4 +1,4 @@
-using UnityEngine;
+using UnityEngine;
 using System.Collections;
 
 public class CameraView
@@ -81,33 +81,35 @@ public class CameraView
     {
         Vector3[] corners = new Vector3[4];
 
-        float halfFOV = (RemoteRtc.Instance.cam.fieldOfView * 0.5f) * Mathf.Deg2Rad;
-        float aspect = RemoteRtc.Instance.cam.aspect;
+        Debug.Log(" DGJ ===> "+GHZRTCCamera.Instance.cam.name);
+
+        float halfFOV = (GHZRTCCamera.Instance.cam.fieldOfView * 0.5f) * Mathf.Deg2Rad;
+        float aspect = GHZRTCCamera.Instance.cam.aspect;
 
         float height = distance * Mathf.Tan(halfFOV);
         float width = height * aspect;
 
         // UpperLeft
-        corners[0] = RemoteRtc.Instance.cam.transform.position - (RemoteRtc.Instance.cam.transform.right * width);
-        corners[0] += RemoteRtc.Instance.cam.transform.up * height;
-        corners[0] += RemoteRtc.Instance.cam.transform.forward * distance;
+        corners[0] = GHZRTCCamera.Instance.cam.transform.position - (GHZRTCCamera.Instance.cam.transform.right * width);
+        corners[0] += GHZRTCCamera.Instance.cam.transform.up * height;
+        corners[0] += GHZRTCCamera.Instance.cam.transform.forward * distance;
         corners[0] = cam.InverseTransformPoint(corners[0]);
         // UpperRight
-        corners[1] = RemoteRtc.Instance.cam.transform.position + (RemoteRtc.Instance.cam.transform.right * width);
-        corners[1] += RemoteRtc.Instance.cam.transform.up * height;
-        corners[1] += RemoteRtc.Instance.cam.transform.forward * distance;
+        corners[1] = GHZRTCCamera.Instance.cam.transform.position + (GHZRTCCamera.Instance.cam.transform.right * width);
+        corners[1] += GHZRTCCamera.Instance.cam.transform.up * height;
+        corners[1] += GHZRTCCamera.Instance.cam.transform.forward * distance;
         corners[1] = cam.InverseTransformPoint(corners[1]);
 
         // LowerLeft
-        corners[2] = RemoteRtc.Instance.cam.transform.position - (RemoteRtc.Instance.cam.transform.right * width);
-        corners[2] -= RemoteRtc.Instance.cam.transform.up * height;
-        corners[2] += RemoteRtc.Instance.cam.transform.forward * distance;
+        corners[2] = GHZRTCCamera.Instance.cam.transform.position - (GHZRTCCamera.Instance.cam.transform.right * width);
+        corners[2] -= GHZRTCCamera.Instance.cam.transform.up * height;
+        corners[2] += GHZRTCCamera.Instance.cam.transform.forward * distance;
         corners[2] = cam.InverseTransformPoint(corners[2]);
 
         // LowerRight
-        corners[3] = RemoteRtc.Instance.cam.transform.position + (RemoteRtc.Instance.cam.transform.right * width);
-        corners[3] -= RemoteRtc.Instance.cam.transform.up * height;
-        corners[3] += RemoteRtc.Instance.cam.transform.forward * distance;
+        corners[3] = GHZRTCCamera.Instance.cam.transform.position + (GHZRTCCamera.Instance.cam.transform.right * width);
+        corners[3] -= GHZRTCCamera.Instance.cam.transform.up * height;
+        corners[3] += GHZRTCCamera.Instance.cam.transform.forward * distance;
         corners[3] = cam.InverseTransformPoint(corners[3]);
 
         return corners;

+ 55 - 488
Assets/Scenes/LangChaoDemo2.unity

@@ -393,79 +393,6 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 12683535}
   m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &13884479
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 13884480}
-  - component: {fileID: 13884482}
-  - component: {fileID: 13884481}
-  m_Layer: 10
-  m_Name: RawImage
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &13884480
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 13884479}
-  m_LocalRotation: {x: 0, y: -1, z: 0, w: 0}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 707069332}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 180, y: 0, z: 180}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &13884481
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 13884479}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_Texture: {fileID: 8400000, guid: 2515c6a63a25f954f87089e5f3fc4a59, type: 2}
-  m_UVRect:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
---- !u!222 &13884482
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 13884479}
-  m_CullTransparentMesh: 1
 --- !u!1 &28878520
 GameObject:
   m_ObjectHideFlags: 0
@@ -1803,7 +1730,6 @@ Transform:
   - {fileID: 855958479}
   - {fileID: 972518865}
   - {fileID: 1564295168}
-  - {fileID: 200427342}
   - {fileID: 1677004746}
   m_Father: {fileID: 0}
   m_RootOrder: 1
@@ -2632,11 +2558,6 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!4 &200427342 stripped
-Transform:
-  m_CorrespondingSourceObject: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-  m_PrefabInstance: {fileID: 258612956}
-  m_PrefabAsset: {fileID: 0}
 --- !u!1 &206518001
 GameObject:
   m_ObjectHideFlags: 0
@@ -3148,115 +3069,6 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 33
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1001 &258612956
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 102144601}
-    m_Modifications:
-    - target: {fileID: 604547950963967445, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_IsActive
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547950963967446, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547950963967446, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547950963967446, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547950963967446, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547950963967446, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 180
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451192, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: cam2
-      value: 
-      objectReference: {fileID: 1135502093}
-    - target: {fileID: 604547952246451192, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: image
-      value: 
-      objectReference: {fileID: 13884481}
-    - target: {fileID: 604547952246451192, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: meshRender2
-      value: 
-      objectReference: {fileID: 918637853}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_RootOrder
-      value: 5
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: -0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451193, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451199, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_Name
-      value: RTC
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952246451199, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_IsActive
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952892512393, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_TargetDisplay
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952892512393, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_CullingMask.m_Bits
-      value: 2147483647
-      objectReference: {fileID: 0}
-    - target: {fileID: 604547952892512398, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-      propertyPath: m_IsActive
-      value: 1
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
 --- !u!1 &264371156
 GameObject:
   m_ObjectHideFlags: 0
@@ -5914,26 +5726,6 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: -20, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!1 &440967584 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 604547950963967445, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-  m_PrefabInstance: {fileID: 258612956}
-  m_PrefabAsset: {fileID: 0}
---- !u!114 &440967588
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 440967584}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: d4c33e92d8dc2934e919ffa2ff71afd6, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  CaptureImage: {fileID: 0}
-  RGBCamTexture: {fileID: 0}
-  isAuto: 1
 --- !u!1 &453102435
 GameObject:
   m_ObjectHideFlags: 0
@@ -9662,107 +9454,6 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 693839083}
   m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1 &707069331
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 707069332}
-  - component: {fileID: 707069335}
-  - component: {fileID: 707069334}
-  - component: {fileID: 707069333}
-  m_Layer: 10
-  m_Name: Canvas
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &707069332
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 707069331}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 0, y: 0, z: 0}
-  m_ConstrainProportionsScale: 0
-  m_Children:
-  - {fileID: 13884480}
-  m_Father: {fileID: 1135502092}
-  m_RootOrder: 1
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0, y: 0}
---- !u!114 &707069333
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 707069331}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_IgnoreReversedGraphics: 1
-  m_BlockingObjects: 0
-  m_BlockingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
---- !u!114 &707069334
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 707069331}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_UiScaleMode: 0
-  m_ReferencePixelsPerUnit: 100
-  m_ScaleFactor: 1
-  m_ReferenceResolution: {x: 800, y: 600}
-  m_ScreenMatchMode: 0
-  m_MatchWidthOrHeight: 0
-  m_PhysicalUnit: 3
-  m_FallbackScreenDPI: 96
-  m_DefaultSpriteDPI: 96
-  m_DynamicPixelsPerUnit: 1
-  m_PresetInfoIsWorld: 0
---- !u!223 &707069335
-Canvas:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 707069331}
-  m_Enabled: 1
-  serializedVersion: 3
-  m_RenderMode: 1
-  m_Camera: {fileID: 1135502093}
-  m_PlaneDistance: 100
-  m_PixelPerfect: 0
-  m_ReceivesEvents: 1
-  m_OverrideSorting: 0
-  m_OverridePixelPerfect: 0
-  m_SortingBucketNormalizedSize: 0
-  m_AdditionalShaderChannelsFlag: 0
-  m_SortingLayerID: 0
-  m_SortingOrder: 0
-  m_TargetDisplay: 0
 --- !u!1 &709537096
 GameObject:
   m_ObjectHideFlags: 0
@@ -12804,89 +12495,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 916107955}
   m_CullTransparentMesh: 1
---- !u!1 &918637851
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 918637852}
-  - component: {fileID: 918637854}
-  - component: {fileID: 918637853}
-  m_Layer: 10
-  m_Name: Quad
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!4 &918637852
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 918637851}
-  m_LocalRotation: {x: 1, y: 0, z: 0, w: 0}
-  m_LocalPosition: {x: 0, y: 0, z: 14.5}
-  m_LocalScale: {x: 16, y: 9, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 1135502092}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 180, y: 0, z: 0}
---- !u!23 &918637853
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 918637851}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_StaticShadowCaster: 0
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 2100000, guid: 85ff73f920c1ca240a9b39c391739a4d, type: 2}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
-  m_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &918637854
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 918637851}
-  m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!1 &924693681
 GameObject:
   m_ObjectHideFlags: 0
@@ -16236,83 +15844,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1116925518}
   m_CullTransparentMesh: 1
---- !u!1 &1135502091
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1135502092}
-  - component: {fileID: 1135502093}
-  m_Layer: 0
-  m_Name: Camera2
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &1135502092
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1135502091}
-  m_LocalRotation: {x: -0.043619405, y: 0, z: 0, w: 0.9990483}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children:
-  - {fileID: 918637852}
-  - {fileID: 707069332}
-  m_Father: {fileID: 200427342}
-  m_RootOrder: 1
-  m_LocalEulerAnglesHint: {x: -5, y: 0, z: 0}
---- !u!20 &1135502093
-Camera:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1135502091}
-  m_Enabled: 1
-  serializedVersion: 2
-  m_ClearFlags: 2
-  m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
-  m_projectionMatrixMode: 1
-  m_GateFitMode: 2
-  m_FOVAxisMode: 0
-  m_SensorSize: {x: 36, y: 24}
-  m_LensShift: {x: 0, y: 0}
-  m_FocalLength: 50
-  m_NormalizedViewPortRect:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
-  near clip plane: 0.3
-  far clip plane: 1000
-  field of view: 33.8
-  orthographic: 0
-  orthographic size: 5
-  m_Depth: 0
-  m_CullingMask:
-    serializedVersion: 2
-    m_Bits: 1024
-  m_RenderingPath: -1
-  m_TargetTexture: {fileID: 8400000, guid: b01e94f8329a5ee429717fa81c4d12a0, type: 2}
-  m_TargetDisplay: 0
-  m_TargetEye: 3
-  m_HDR: 1
-  m_AllowMSAA: 1
-  m_AllowDynamicResolution: 0
-  m_ForceIntoRT: 0
-  m_OcclusionCulling: 1
-  m_StereoConvergence: 10
-  m_StereoSeparation: 0.022
 --- !u!1 &1139344088
 GameObject:
   m_ObjectHideFlags: 0
@@ -19356,6 +18887,11 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1374638929}
   m_CullTransparentMesh: 1
+--- !u!20 &1380660240 stripped
+Camera:
+  m_CorrespondingSourceObject: {fileID: 3098302889536018303, guid: 0301f7e8d5359e544955cd429da8a623, type: 3}
+  m_PrefabInstance: {fileID: 750673470}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1386872889
 GameObject:
   m_ObjectHideFlags: 0
@@ -21052,19 +20588,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   global: 1
-  front: client/
-  id: 
-  username: u@unity3
-  password: 
   rid: mqttx_b4c02ddc
-  account: 
-  roomId: 
-  email: 
-  phone: 
-  roleId: 
-  resourcePool: 
-  expertType: 
-  _username: 
 --- !u!114 &1496039443
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -21078,6 +20602,20 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   global: 1
+  front: client/
+  id: 
+  username: u@unity3
+  password: 
+  rid: mqttx_b4c02ddc
+  account: 
+  roomId: 
+  email: 
+  phone: 
+  roleId: 
+  resourcePool: 
+  expertType: 
+  _username: 
+  room: 
 --- !u!1 &1504529037
 GameObject:
   m_ObjectHideFlags: 0
@@ -22897,7 +22435,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   Agora: {fileID: 855958478}
-  RTCRemote: {fileID: 1930909195}
+  RTCRemote: {fileID: 0}
 --- !u!4 &1677004746
 Transform:
   m_ObjectHideFlags: 0
@@ -22911,7 +22449,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 102144601}
-  m_RootOrder: 6
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1681491339
 GameObject:
@@ -25935,11 +25473,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1930189151}
   m_CullTransparentMesh: 1
---- !u!1 &1930909195 stripped
-GameObject:
-  m_CorrespondingSourceObject: {fileID: 604547952246451199, guid: 1f19c6a2eb9f83340a868c4c9fd2d104, type: 3}
-  m_PrefabInstance: {fileID: 258612956}
-  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1936791521
 GameObject:
   m_ObjectHideFlags: 0
@@ -28544,6 +28077,8 @@ GameObject:
   - component: {fileID: 973110132107938464}
   - component: {fileID: 973110132107938480}
   - component: {fileID: 973110132107938481}
+  - component: {fileID: 973110132107938482}
+  - component: {fileID: 973110132107938483}
   m_Layer: 5
   m_Name: Canvas
   m_TagString: Untagged
@@ -28659,6 +28194,38 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   audiosource: {fileID: 0}
+--- !u!114 &973110132107938482
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 973110132107938475}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4cdf719615e1e8948a4fce3a10b2a5bf, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  global: 1
+  expertView: {fileID: 0}
+  rawImage: {fileID: 877159229}
+  question: 0
+  rtcState: 0
+  controlPhone: 
+--- !u!114 &973110132107938483
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 973110132107938475}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 68e60f538d291d04ab731e759348d75d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  global: 1
+  cam: {fileID: 1380660240}
 --- !u!222 &1724476960777651228
 CanvasRenderer:
   m_ObjectHideFlags: 0

+ 38 - 32
Assets/Scripts/MQTT/MQTTClient.cs

@@ -11,23 +11,23 @@ using static QTTManager;
 
 public class MQTTClient : MonoSingleton<MQTTClient>
 {
-    public string front = "client/";
-    public string id = "";
-    public string username = "u@unity3";// 需要根据服务器设置
-    public string password = null;// 需要根据服务器设置
+    //public string front = "client/";
+   // public string id = "";
+    //public string username = "u@unity3";// 需要根据服务器设置
+    //public string password = null;// 需要根据服务器设置
     public string rid = "mqttx_b4c02ddc"; //其他人的ID
-    public string account;
-    public string roomId;
-    public string email;
-    public string phone;
-    public string roleId;
-    public string resourcePool;
-    public string expertType;
-    public string _username;
+    //public string account;
+    //public string roomId;
+    //public string email;
+    //public string phone;
+    //public string roleId;
+    //public string resourcePool;
+    //public string expertType;
+    //public string _username;
 
     public event Action<JsonData> OnCoordinate;
     public static byte[] bytes;
-    public static string certification;
+   // public static string certification;
     // public static byt ta;
     QTTManager qt;
     // Start is called before the first frame update
@@ -59,7 +59,10 @@ public class MQTTClient : MonoSingleton<MQTTClient>
 
     private void onSucceed()
     {
-        Subscribe(front + "online/" + account);
+        // Subscribe(MQTTManager.Instance.front + "online/" + MQTTManager.Instance.phone);
+
+       Subscribe(MQTTManager.Instance.front + "personnel/" + MQTTManager.Instance.resourcePool);
+       Subscribe(MQTTManager.Instance.front + "online/" + MQTTManager.Instance.phone);
     }
 
 
@@ -85,7 +88,7 @@ public class MQTTClient : MonoSingleton<MQTTClient>
     {
         string msg = Encoding.UTF8.GetString(obj.Message);
         Debug.Log("uid => " + obj.Topic + ":\n" + msg);
-        UILogManager.Instance.text3.text = msg;
+     //   UILogManager.Instance.text3.text = msg;
         MQTTManager.Instance.Received(msg);
     }
 
@@ -94,22 +97,11 @@ public class MQTTClient : MonoSingleton<MQTTClient>
         DisConnect();
     }
 
-    public void SetUserName(string username)
-    {
-        if (username != null)
-            this.username = username;
-    }
-
-    public void SetFront(string front)
-    {
-        if (front != null)
-            this.front = front;
-    }
     //连接
     public void Connect()
     {
 
-        Debug.Log("DGJ ===> MQTT " + HttpActionLang.Instance.mqttSocket + "   " + id + account);
+        Debug.Log("DGJ ===> MQTT " + HttpActionLang.Instance.mqttSocket );
         //if (DeviceType.type == "Phone")
         //{
         //    id =UserInfo.Instance.name + "_Phone";
@@ -122,10 +114,10 @@ public class MQTTClient : MonoSingleton<MQTTClient>
         //    rid = front+UserInfo.Instance.name + "_Phone";
         //}
 
-        Debug.Log("DGJ ==>MQTT " + id + account + "  " + username + "   " + certification + "  " + HttpActionLang.Instance.mqttSocket);
+      //  Debug.Log("DGJ ==>MQTT " + id + account + "  " + username + "   " + certification + "  " + HttpActionLang.Instance.mqttSocket);
 
         DisConnect();
-        qt = new QTTManager(id + account,username , certification, HttpActionLang.Instance.mqttSocket, "1883");
+        qt = new QTTManager(MQTTManager.Instance.id + MQTTManager.Instance.account, MQTTManager.Instance.username , MQTTManager.certification, HttpActionLang.Instance.mqttSocket, "1883");
         qt.Connect();
         StartCoroutine(Reconnection());
         qt.ConnectionFailed += onFaild;
@@ -185,7 +177,7 @@ public class MQTTClient : MonoSingleton<MQTTClient>
                         },
                         new byte[]
                         {
-                                MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE,
+                                MqttMsgBase.QOS_LEVEL_AT_MOST_ONCE,
                                 //MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE
 
                         });
@@ -274,8 +266,22 @@ public class MQTTClient : MonoSingleton<MQTTClient>
     {
         if (qt != null && qt.IsConnect())
         {
-            Debug.Log(id + account + "  DGJ  publish =====>  " + front + "room/" + roomId + "   " + bs.Length);
-            qt.Publish(front + "room/" + roomId, bs, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);
+           // Debug.Log(id + account + "  DGJ  publish =====>  " + front + "room/" + roomId + "   " + bs.Length);
+          //  qt.Publish(front + "room/" + roomId, bs, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);
+        }
+        else
+        {
+            Debug.LogError(" MQTT  未连接 ");
+        }
+
+    }
+
+    public void publish(string channelID, byte[] bs)
+    {
+        if (qt != null && qt.IsConnect())
+        {
+            Debug.Log(MQTTManager.Instance.id + MQTTManager.Instance.account + "  DGJ  publish =====>  " + channelID + "   " + bs.Length);
+            qt.Publish(channelID, bs, MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);
         }
         else
         {

+ 71 - 23
Assets/Scripts/MQTT/MQTTManager.cs

@@ -1,4 +1,5 @@
 using LitJson;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System.Collections;
 using System.Collections.Generic;
@@ -7,6 +8,23 @@ using UnityEngine;
 
 public class MQTTManager : MonoSingleton<MQTTManager>
 {
+
+    public string front = "client/";
+    public string id = "";
+    public string username = "u@unity3";// 需要根据服务器设置
+    public string password = null;// 需要根据服务器设置
+    public string rid = "mqttx_b4c02ddc"; //其他人的ID
+    public string account;
+    public string roomId;
+    public string email;
+    public string phone;
+    public string roleId;
+    public string resourcePool;
+    public string expertType;
+    public string _username;
+    public string room;
+    public static string certification;
+
     /// <summary>
     ///  获取信令
     /// </summary>
@@ -21,7 +39,7 @@ public class MQTTManager : MonoSingleton<MQTTManager>
 
     public void SetAccoutInfo(string account)
     {
-        MQTTClient.Instance.account = account;
+        MQTTManager.Instance.account = account;
 
     }
     private void SignalCallBack(string msg)
@@ -32,10 +50,10 @@ public class MQTTManager : MonoSingleton<MQTTManager>
         if (obj["code"].ToString() == "200")
         {
             HttpActionLang.Instance.mqttSocket = obj["data"]["host"].ToString();
-            MQTTClient.certification = obj["data"]["certification"].ToString();
-            MQTTClient.Instance.front = obj["data"]["topicPrefix"].ToString();
-            MQTTClient.Instance.id = obj["data"]["clientId"].ToString();
-            MQTTClient.Instance.username = obj["data"]["username"].ToString();
+            MQTTManager.certification = obj["data"]["certification"].ToString();
+            MQTTManager.Instance.front = obj["data"]["topicPrefix"].ToString();
+            MQTTManager.Instance.id = obj["data"]["clientId"].ToString();
+            MQTTManager.Instance.username = obj["data"]["username"].ToString();
             MQTTClient.Instance.Connect();
         }
         else
@@ -51,12 +69,12 @@ public class MQTTManager : MonoSingleton<MQTTManager>
         JObject obj = JObject.Parse(msg);
         if (obj["code"].ToString() == "200")
         {
-            MQTTClient.Instance._username = obj["data"]["name"].ToString();
-            MQTTClient.Instance.roleId = obj["data"]["roleId"].ToString();
-            MQTTClient.Instance.email = obj["data"]["email"].ToString();
-            MQTTClient.Instance.phone = obj["data"]["phone"].ToString();
-            MQTTClient.Instance.resourcePool = obj["data"]["resourcePool"].ToString();
-            MQTTClient.Instance.expertType = obj["data"]["expertType"].ToString();
+            MQTTManager.Instance._username = obj["data"]["name"].ToString();
+            MQTTManager.Instance.roleId = obj["data"]["roleId"].ToString();
+            MQTTManager.Instance.email = obj["data"]["email"].ToString();
+            MQTTManager.Instance.phone = obj["data"]["phone"].ToString();
+            MQTTManager.Instance.resourcePool = obj["data"]["resourcePool"].ToString();
+            MQTTManager.Instance.expertType = obj["data"]["expertType"].ToString();
         }
         else
         {
@@ -66,12 +84,12 @@ public class MQTTManager : MonoSingleton<MQTTManager>
 
     public void SetRoomId(string id)
     {
-        MQTTClient.Instance.roomId = id;
+        MQTTManager.Instance.roomId = id;
      //   MQTTClient.Instance.roomId = "9527";
 
         // 订阅房间频道
 
-        MQTTClient.Instance.Subscribe(MQTTClient.Instance.front + "room/" + id);
+        MQTTClient.Instance.Subscribe(MQTTManager.Instance.front + "room/" + id);
 
       
 
@@ -88,7 +106,7 @@ public class MQTTManager : MonoSingleton<MQTTManager>
         if (!string.IsNullOrEmpty(msg))
         {
             JsonData json = new JsonData();
-            json["account"] = MQTTClient.Instance.account;
+            json["account"] = MQTTManager.Instance.account;
             json["Sid"] = "sid";//选择的场景id
             json["msg"] = msg;
             MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
@@ -96,6 +114,21 @@ public class MQTTManager : MonoSingleton<MQTTManager>
         }
 
     }
+
+    /// <summary>
+    /// 发送消息
+    /// </summary>
+    /// <param name="msg"></param>
+    public void PushMsg(string channelID, string msg)
+    {
+        if (!string.IsNullOrEmpty(msg))
+        {
+            MQTTClient.Instance.publish(channelID, Encoding.UTF8.GetBytes(msg));
+
+        }
+
+    }
+
     /// <summary>
     ///  接受消息
     /// </summary>
@@ -109,15 +142,20 @@ public class MQTTManager : MonoSingleton<MQTTManager>
         switch (obj["action"].ToString())
         {
             case "timeout": // 超时
-                UICallManager.Instance.EventTimeOut();
+                //UICallManager.Instance.EventTimeOut();
                 break;
 
             case "invite": // 邀请
 
-                if(obj["control"]!=null)
+                if(obj["control"] !=null)
                 {
-                    string roomid = obj["rtcRoom"].ToString();
-                    UICallManager.Instance.EventInvite(obj["control"].ToString(), roomid);
+                    //string roomid = obj["rtcRoom"].ToString();
+                    string phone = obj["control"]["phone"].ToString();
+                    //string resourcePool = obj["control"]["resourcePoo1"].ToString();
+                    UICallManager.Instance.EventInvite(obj["control"].ToString(),"");
+                    Debug.Log(phone);
+                    RTCRoomManager.Instance.controlPhone = phone;
+                   
                 }
                 else
                 {
@@ -134,18 +172,28 @@ public class MQTTManager : MonoSingleton<MQTTManager>
 
                 // 拆解用户名  和 聊天内容  显示到聊天框里
 
-                string username = "";
-                string chatMsg = "";
+                string username = obj["from"].ToString();
+                string chatMsg = obj["chatMessage"].ToString();
 
                 FileList.Instance.AddMsgItem(null, username, chatMsg);
 
                 break;
-            case "file": // 接受文件
+            case "share": // 接受文件
 
                 // 拆解用户名  和 文件名称  显示到聊天框里   下载文件
+                FileConfig fileConfig = JsonConvert.DeserializeObject<FileConfig>(obj["chatMessage"].ToString());
+                fileConfig.From = obj["from"].ToString();
+                
+                FileList.Instance.AddItem(fileConfig);
+                break;
+            case "remark": // 空间标注
+                float Valuex = float.Parse(obj["chatMessage"]["x"].ToString());
+                float Valuey = float.Parse(obj["chatMessage"]["y"].ToString());
 
-
-
+                ArrowList.Instance.AddArrow(Valuex, Valuey);
+                break;
+            case "clearRemark":
+                ArrowList.Instance.DeleteAll();
                 break;
             default:
                 break;

+ 10 - 0
Assets/Scripts/RTC/GHZRTCCamera.cs

@@ -0,0 +1,10 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class GHZRTCCamera : MonoSingleton<GHZRTCCamera>
+{
+    public Camera cam;
+
+
+}

+ 1 - 1
Assets/TestMQTT.cs.meta → Assets/Scripts/RTC/GHZRTCCamera.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: e619ad1e5dad862488e940a5741e906b
+guid: 68e60f538d291d04ab731e759348d75d
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 18 - 16
Assets/Scripts/RTC/LiveRTCRoomMain.cs

@@ -20,7 +20,7 @@ public class LiveRTCRoomMain : MonoSingleton<LiveRTCRoomMain>,IController
 
     public RawImage rtcRawImage;
 
-    public ParticipantView expertView;
+   
     private void Start()
     {
         OnInit();
@@ -28,8 +28,14 @@ public class LiveRTCRoomMain : MonoSingleton<LiveRTCRoomMain>,IController
 
     private void Update()
     {
-        if (expertView != null)
-            rtcRawImage.texture = expertView.VideoView;
+        if (RTCRoomManager.Instance.expertView != null)
+        {
+            if (!rtcRawImage.gameObject.activeSelf)
+                rtcRawImage.gameObject.SetActive(true);
+
+            rtcRawImage.texture = RTCRoomManager.Instance.expertView.VideoView;
+        }
+          
     }
     private void OnInit()
     {
@@ -48,18 +54,18 @@ public class LiveRTCRoomMain : MonoSingleton<LiveRTCRoomMain>,IController
 
     public void SetAudio(bool state)
     {
-        this.GetService<IRTCService>().ActiveAudio(state);
-
-        audioCloseBtn.gameObject.SetActive(state);
-        audioOpenBtn.gameObject.SetActive(!state);
+       
+        GHZRtcManager.Instance.OnWebCam(state);
+        audioCloseBtn.gameObject.SetActive(!state);
+        audioOpenBtn.gameObject.SetActive(state);
     }
 
     public void SetVideo(bool state)
     {
-        this.GetService<IRTCService>().ActiveVideo(state);
+        GHZRtcManager.Instance.OnMicrophone(state);
 
-        videoCloseBtn.gameObject.SetActive(state);
-        videoOpenBtn.gameObject.SetActive(!state);
+        videoCloseBtn.gameObject.SetActive(!state);
+        videoOpenBtn.gameObject.SetActive(state);
     }
 
     public void ClearAllArrow()
@@ -80,7 +86,7 @@ public class LiveRTCRoomMain : MonoSingleton<LiveRTCRoomMain>,IController
 
     public void LeaveRoom()
     {
-        this.GetService<IRTCService>().LeaveRoom();
+        RTCRoomManager.Instance.LeaveChannel();
 
         if (PopPeerView.Instance)
         {
@@ -131,10 +137,6 @@ public class LiveRTCRoomMain : MonoSingleton<LiveRTCRoomMain>,IController
     }
 
 
-    public void ExpertJonin( string identity)
-    {
-        rtcRawImage.gameObject.SetActive(true);
-        RTCManager.Instance.ShowViewRawImage(identity, rtcRawImage);
-    }
+  
     
 }

+ 11 - 1
Assets/Scripts/RTC/OnWebSocketMsg.cs

@@ -57,10 +57,20 @@ public class OnWebSocketMsg : MonoSingleton<OnWebSocketMsg>
                     {
                         string uid = obj["sid"].ToString();
 
+                        if(ScenesManager.Instance.getWindow()== ScenesManager.SceneType.ShowRTC)
+                        {
+                            ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowRoom);
+                        }                     
                         // 专家进入房间  并且当前是在远程协助页面
-                        LiveRTCRoomMain.Instance.ExpertJonin(uid);
+                        RTCRoomManager.Instance.ExpertJonin(uid);
+                        RTCRoomManager.Instance.UserJoined(UserEnum.Expert , obj2);
 
                     }
+
+                    if(obj2["roleId"].ToString()=="3")
+                    {
+                        RTCRoomManager.Instance.UserJoined(UserEnum.Conterl, obj2);
+                    }
                 }
 
                 break;

+ 284 - 0
Assets/Scripts/RTC/RTCRoomManager.cs

@@ -0,0 +1,284 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using Blue;
+using Newtonsoft.Json;
+using LitJson;
+using Newtonsoft.Json.Linq;
+
+public class RTCRoomManager : MonoSingleton<RTCRoomManager>, IController
+{
+    public ParticipantView expertView;
+
+    public RawImage rawImage;
+
+    private RTCRoomInfo mRTCRoomInfo;
+
+    public QuestionEnum question;
+
+    public RTCEnum rtcState;
+
+    public string controlPhone;
+
+    public JObject expertData;
+    public JObject controlData;
+    private void Start()
+    {
+        this.RegisterEvent<RTCCreatRoomSuccessEvent>(CreatRoomSuccess).UnRegisterWhenGameObjectDestroyed(gameObject);
+
+        rtcState = RTCEnum.OFF;
+        question = QuestionEnum.NetWork;
+    }
+    private void Update()
+    {
+        if (GHZRtcManager.Instance.isRoom)
+        {
+            GHZRtcManager.Instance.isRoom = false;
+            OnLocalUserJoined();
+        }
+    }
+
+    private void CreatRoomSuccess(RTCCreatRoomSuccessEvent e)
+    {
+
+        Debug.Log("DGJ   =====>  JoinRoomSuccess");
+        mRTCRoomInfo = JsonConvert.DeserializeObject<RTCRoomInfo>(e.rtcRoomInfo);
+
+        UILogManager.Instance.text2.text = mRTCRoomInfo.roomId.ToString();
+        UICallManager.Instance.SetMQTTRoomId(mRTCRoomInfo.roomId.ToString());
+        
+
+    }
+    public void OnLocalUserJoined()
+    {
+        UserJoined(UserEnum.Player);
+      
+        if (ScenesManager.Instance.getWindow()== ScenesManager.SceneType.ShowRTC) // 当前在RTC 频道内
+        {
+            JsonData data = new JsonData();
+            data["roomId"] = mRTCRoomInfo.roomId.ToString();
+            data["questionCategory"] = (int)question;
+
+            Debug.Log("DGJ   =====>  " + mRTCRoomInfo.roomId);
+
+            StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.apply, data.ToJson(), message =>
+            {
+                Debug.Log("DGJ ===>  HttpActionLang.apply   " + HttpActionLang.apply + "   " + message);
+                JObject jobject = JObject.Parse(message);
+                if (jobject["code"].ToString() == "200" && !string.IsNullOrWhiteSpace(jobject["data"].ToString()))
+                {
+                    Debug.Log("DGJ ===>   ");
+
+                    // ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowRoom); // 等待收到专家入场
+
+                }
+            }));
+        }
+        else
+        {
+            JsonData obj = new JsonData();
+            obj["action"] = "invite";
+            obj["rtcRoom"] = mRTCRoomInfo.roomId.ToString();
+            obj["personnel"] = new JsonData();
+            obj["personnel"]["id"] = MQTTManager.Instance.id;
+            obj["personnel"]["name"] = MQTTManager.Instance._username;
+            obj["personnel"]["resourcePoo1"] = MQTTManager.Instance.resourcePool;
+            obj["personnel"]["room"] = MQTTManager.Instance.room;
+            obj["personnel"]["phone"] = MQTTManager.Instance.phone;
+            // 用MQTT 向中考发送邀请
+            MQTTManager.Instance.PushMsg(MQTTManager.Instance.front +"online/"+controlPhone, obj.ToJson());
+        }
+
+       
+
+    }
+    public void ExpertJonin(string identity)
+    {
+        
+        RTCManager.Instance.ShowViewRawImage(identity, rawImage);
+    }
+
+    public void UserJoined( UserEnum userEnum , JObject metadata = null)
+    {
+        Debug.Log("DGJ ===> " + rtcState);
+        switch (userEnum)
+        {
+            case UserEnum.Player:
+                rtcState = RTCEnum.Online;
+                break;
+            case UserEnum.Expert:
+                expertData = metadata;
+                switch (rtcState)
+                {
+                    case RTCEnum.OFF:
+                       
+                    case RTCEnum.Online:
+                     
+                    case RTCEnum.ExpertOnline:
+                        rtcState = RTCEnum.ExpertOnline;
+                        break;
+                    case RTCEnum.ConterlOnline:
+                        rtcState = RTCEnum.ALLOnline;
+                        break;
+                    case RTCEnum.ALLOnline:
+                        Debug.LogError("RTC 房间状态有误 "  );
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            case UserEnum.Conterl:
+                controlData = metadata;
+                switch (rtcState)
+                {
+                    case RTCEnum.OFF:
+
+                    case RTCEnum.Online:
+                        rtcState = RTCEnum.ExpertOnline;
+                        break;
+                    case RTCEnum.ExpertOnline:
+                        rtcState = RTCEnum.ALLOnline;
+                      
+                        break;
+                    case RTCEnum.ConterlOnline:
+                        rtcState = RTCEnum.ExpertOnline;
+                        break;
+                    case RTCEnum.ALLOnline:
+                        Debug.LogError("RTC 房间状态有误 ");
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            default:
+                break;
+        }
+    }
+
+    public void UserOffline(string uid)
+    {
+       Participant participant = RTCManager.Instance.QuesUser(uid);
+
+        if(expertData!=null&& participant.identity == expertData["name"].ToString() )
+        {
+            UserOffline(UserEnum.Expert);
+
+        }else if(controlData!=null && participant.identity == controlData["name"].ToString())
+        {
+            UserOffline(UserEnum.Conterl);
+        }
+
+
+    }
+
+    public void UserOffline(UserEnum userEnum)
+    {
+        switch (userEnum)
+        {
+            case UserEnum.Player:
+                rtcState = RTCEnum.OFF;
+                break;
+            case UserEnum.Expert:
+                switch (rtcState)
+                {
+                    case RTCEnum.OFF:
+
+                    case RTCEnum.Online:
+
+                    case RTCEnum.ExpertOnline:
+                        rtcState = RTCEnum.Online;
+
+
+                        break;
+                    case RTCEnum.ConterlOnline:
+                        Debug.LogError("RTC 房间状态有误 ");
+                        break;
+                    case RTCEnum.ALLOnline:
+                        rtcState = RTCEnum.ConterlOnline;
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            case UserEnum.Conterl:
+
+                switch (rtcState)
+                {
+                    case RTCEnum.OFF:
+
+                    case RTCEnum.Online:
+                  
+                    case RTCEnum.ConterlOnline:
+                        rtcState = RTCEnum.Online;
+                       
+
+                        break;
+                    case RTCEnum.ExpertOnline:
+                        Debug.LogError("RTC 房间状态有误 ");
+                        break;
+                    case RTCEnum.ALLOnline:
+                        rtcState = RTCEnum.ExpertOnline;
+                        break;
+                    default:
+                        break;
+                }
+                break;
+            default:
+                break;
+        }
+
+        if(rtcState == RTCEnum.Online&& ScenesManager.Instance.getWindow() != ScenesManager.SceneType.ShowRTC)
+        {
+            // 退出房间
+            LeaveChannel();
+        }
+    }
+
+    public void LeaveChannel()
+    {
+        RTCManager.Instance.LeaveChannel();
+        ClearRoomData();
+    }
+
+    private void ClearRoomData()
+    {
+        expertView = null;
+        mRTCRoomInfo = null;
+        controlPhone = "";
+        question = QuestionEnum.NetWork;
+        expertData = null;
+        controlData = null;
+    }
+}
+
+public enum RTCEnum
+{
+    /// <summary>
+    /// 离线
+    /// </summary>
+    OFF,
+    /// <summary>
+    /// 当前只有眼镜端在房间
+    /// </summary>
+    Online,
+    /// <summary>
+    /// 眼镜端和专家端都在房间
+    /// </summary>
+    ExpertOnline,
+    /// <summary>
+    /// 眼镜端和控制台都在房间
+    /// </summary>
+    ConterlOnline,
+    /// <summary>
+    /// 眼镜、专家、控制台 都在房间
+    /// </summary>
+    ALLOnline
+}
+
+public enum UserEnum
+{
+    Player,
+    Expert,
+    Conterl
+}

+ 11 - 0
Assets/Scripts/RTC/RTCRoomManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4cdf719615e1e8948a4fce3a10b2a5bf
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 5
Assets/Scripts/UICallManager.cs

@@ -82,26 +82,27 @@ public class UICallManager : MonoSingleton<UICallManager>,IController
 
     public void Oninvite(string control ,string roomId)
     {
-        this.GetService<IRTCService>().JoinRoom(roomId);
+        // this.GetService<IRTCService>().JoinRoom(roomId);
+        this.GetService<IRTCService>().CreatRoom();
     }
 
     public void OntimeOut()
     {
         // 退出房间
-        this.GetService<IRTCService>().LeaveRoom();
+        RTCRoomManager.Instance.LeaveChannel();
 
         // 改文字UI
-     //   AllotPanel.Instance.SetAllotText("");
+        //   AllotPanel.Instance.SetAllotText("");
     }
 
 
     public void OnnoExpert()
     {
         // 退出房间
-        this.GetService<IRTCService>().LeaveRoom();
+        RTCRoomManager.Instance.LeaveChannel();
 
         // 改文字UI
-     //   AllotPanel.Instance.SetAllotText("");
+        //   AllotPanel.Instance.SetAllotText("");
     }
 
     /// <summary>

+ 0 - 86
Assets/TestMQTT.cs

@@ -1,86 +0,0 @@
-using LitJson;
-using Newtonsoft.Json.Linq;
-using System.Collections;
-using System.Collections.Generic;
-using System.Text;
-using UnityEngine;
-using UnityEngine.UI;
-
-public class TestMQTT : MonoSingleton<TestMQTT>
-{
-    //public Text text;
-    //public InputField input;
-    //public Button btn;
-
-    private void Start()
-    { 
-       // btn.onClick.AddListener(PushMsg);
-    }
-
-    /// <summary>
-    ///  获取信令
-    /// </summary>
-    public void Signal()
-    {
-        GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.signal_certification, "", SignalCallBack));
-       // HttpTool.Instance.PostMqtt(HttpAction.signal_certification, "", SignalCallBack);
-    }
-
-
-    public void SetAccoutInfo(string account)
-    {
-        MQTTClient.Instance.account = account;
-       
-    }
-    private void SignalCallBack(string msg)
-    {
-        Debug.Log(msg);
-
-        JObject obj = JObject.Parse(msg);
-        if (obj["code"].ToString() == "200")
-        {
-            HttpActionLang.Instance.mqttSocket = obj["data"]["host"].ToString();
-            MQTTClient.certification = obj["data"]["certification"].ToString();
-            MQTTClient.Instance.front = obj["data"]["topicPrefix"].ToString();
-            MQTTClient.Instance.id = obj["data"]["clientId"].ToString();
-            MQTTClient.Instance.email = obj["data"]["email"].ToString();
-            SetRoomId("");
-            //  
-        }
-        else
-        {
-            Debug.LogError("MQTT 获取信令失败 !!!");
-        }
-    }
-
-    public void SetRoomId(string id)
-    {
-        MQTTClient.Instance.roomId = id;
-        MQTTClient.Instance.roomId = "9527";
-        MQTTClient.Instance.Connect();
-
-    }
-
-    public void PushMsg( string msg)
-    {
-        if(!string.IsNullOrEmpty(msg))
-        {
-            JsonData json = new JsonData();
-            json["account"] = MQTTClient.Instance.account;
-            json["Sid"] = "sid";//选择的场景id
-            json["msg"] = msg;
-            MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
-           // input.text = null;
-        }
-
-        else
-        {
-            JsonData json = new JsonData();
-            json["account"] = MQTTClient.Instance.account;
-            json["Sid"] = "sid";//选择的场景id
-            json["msg"] = "NULL";
-            MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
-           // input.text = null;
-        }
-    }
-}