RTCDemoManager.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using Newtonsoft.Json.Linq;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. public class RTCDemoManager : MonoSingleton<RTCDemoManager>
  6. {
  7. public string roomId;
  8. public string host;
  9. public string token;
  10. private int rtcpostCount = 0;
  11. public void CreatRoom()
  12. {
  13. rtcpostCount++;
  14. StartCoroutine( HttpToolLangChao.Instance.SendHttp(HttpActionLang.rtc_CreateRoom, "", message =>
  15. {
  16. JObject jobject = JObject.Parse(message);
  17. Debug.Log("DGJ ===> CreateRoom " + message);
  18. // "Request Timeout"
  19. if (jobject["code"].ToString() == "200" && !string.IsNullOrWhiteSpace(jobject["data"].ToString()))
  20. {
  21. //ErrorPopup.Instance.UpdateRTCState(NetState.Start);
  22. //this.SendEvent(new RTCCreatRoomSuccessEvent() { rtcRoomInfo = jobject["data"].ToString() });
  23. RTCDemoManager.Instance.roomId = jobject["data"]["roomId"].ToString();
  24. RTCDemoManager.Instance.host = jobject["data"]["host"].ToString();
  25. RTCDemoManager.Instance.token = jobject["data"]["token"].ToString();
  26. RTCRoomManager.Instance.CreateRoomSuccess(roomId);
  27. RTCDemoManager.Instance.ConnectByRTCUrl(host);
  28. rtcpostCount = 0;
  29. // �����ɹ�
  30. // RTCRoomManager.Instance.OnLocalUserJoined();
  31. }
  32. else
  33. {
  34. if (rtcpostCount > 5)
  35. {
  36. //ErrorPopup.Instance.UpdateRTCState(NetState.DisConnect);
  37. //ErrorPopup.Instance.ShowRTCError("��������ʧ�� " + message, -1);
  38. }
  39. else
  40. {
  41. // ErrorPopup.Instance.UpdateRTCState(NetState.StartError);
  42. RTCRoomManager.Instance.isRTCreate = true;
  43. }
  44. //if (jobject["code"].ToString() == "503")
  45. //{
  46. // RTCRoomManager.Instance.isRTCreate = true;
  47. //}
  48. // RTC ��������ʧ��
  49. // RTC ��������ʧ��
  50. }
  51. }, "application/x-www-form-urlencoded"));
  52. }
  53. /// <summary>
  54. /// ����url����rtc
  55. /// </summary>
  56. public void ConnectByRTCUrl(string URL)
  57. {
  58. GHZRtcManager.Instance.ConnectRoom("https://" + host, token);
  59. //this.SendEvent<RTCConnectSuccessEvent>();
  60. //this.SendEvent<RTCConnectFailEvent>();
  61. }
  62. }