1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using LiveKit.Proto;
- using Newtonsoft.Json.Linq;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class OnWebSocketMsg : MonoSingleton<OnWebSocketMsg>
- {
- private void Update()
- {
- if(SignalClient.SignalResponseList.Count>0)
- {
- int ct = SignalClient.SignalResponseList.Count;
- for (int i = 0; i < ct; i++)
- {
- OnWebSocketMessage(SignalClient.SignalResponseList.Dequeue());
- }
- }
- }
- public void OnWebSocketMessage(SignalResponse response)
- {
- Debug.Log("DGJ ===> OnWebSocketMessage " + response);
- switch (response.MessageCase)
- {
- case SignalResponse.MessageOneofCase.None:
- break;
- case SignalResponse.MessageOneofCase.Join:
- break;
- case SignalResponse.MessageOneofCase.Answer:
- break;
- case SignalResponse.MessageOneofCase.Offer:
- break;
- case SignalResponse.MessageOneofCase.Trickle:
- break;
- case SignalResponse.MessageOneofCase.Update:
- if(response.Update.Participants!=null)
- {
- string msg = response.Update.Participants.ToString();
- msg = msg.Remove(0, 1);
- msg = msg.Remove(msg.Length - 1, 1);
- Debug.Log("DGJ ==> "+ msg);
-
- JObject obj = JObject.Parse(msg);
-
- string metadata = obj["metadata"].ToString();
- Debug.Log("DGJ == > metadata " + metadata);
- metadata = metadata.Replace('\"', '"');
- Debug.Log("DGJ == > metadata "+ metadata);
- JObject obj2 = JObject.Parse(metadata);
- Debug.Log("DGJ ===> roleId " + obj2["roleId"].ToString());
- if (obj2["roleId"].ToString() == "2")
- {
- string uid = obj["sid"].ToString();
-
- LiveRTCRoomMain.Instance.ExpertJonin(uid);
- }
- }
- break;
- case SignalResponse.MessageOneofCase.TrackPublished:
- break;
- case SignalResponse.MessageOneofCase.Leave:
- break;
- case SignalResponse.MessageOneofCase.Mute:
- break;
- case SignalResponse.MessageOneofCase.SpeakersChanged:
- break;
- case SignalResponse.MessageOneofCase.RoomUpdate:
- break;
- case SignalResponse.MessageOneofCase.ConnectionQuality:
- break;
- case SignalResponse.MessageOneofCase.StreamStateUpdate:
- break;
- case SignalResponse.MessageOneofCase.SubscribedQualityUpdate:
- break;
- case SignalResponse.MessageOneofCase.SubscriptionPermissionUpdate:
- break;
- case SignalResponse.MessageOneofCase.RefreshToken:
- break;
- case SignalResponse.MessageOneofCase.TrackUnpublished:
- break;
- case SignalResponse.MessageOneofCase.Pong:
- break;
- default:
- break;
- }
- }
- }
|