AboutMeDlg.cs 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using ShadowStudio.Mgr;
  2. using Studio.Scripts;
  3. using Studio.Scripts.HttpMessage;
  4. using System;
  5. using System.Collections;
  6. using System.Collections.Generic;
  7. using UnityEngine;
  8. using UnityEngine.UI;
  9. using XRTool.Util;
  10. using XRTool.WorldUI;
  11. namespace ShadowStudio.UI
  12. {
  13. [RequireComponent(typeof(WorldDlg))]
  14. public class AboutMeDlg : UnitySingleton<AboutMeDlg>
  15. {
  16. WorldDlg dlg;
  17. private XRIcon avatar;
  18. private TextMesh userNameText;
  19. private Toggle cameraToggle_Switch;
  20. private Toggle micToggle_Switch;
  21. private Transform toggleGroupTran;
  22. private Transform framerateToggleGroup;
  23. private Button loginoutBtn;
  24. private Button closeBtn;
  25. void Start()
  26. {
  27. dlg = GetComponent<WorldDlg>();
  28. avatar = dlg.GetBreadthChild<XRIcon>("Avatar");
  29. for (int i = 0; i < CommonMethod.UserAvatarsList.Count; i++)
  30. {
  31. if (UserInfoMgr.Instance.userConfig.Avatar == CommonMethod.UserAvatarsList[i].Url)
  32. {
  33. string path = "Avatar/" + CommonMethod.UserAvatarsList[i].Id + "Avatar";
  34. avatar.icon = Resources.Load(path) as Texture2D;
  35. avatar.AutoSetSprite();
  36. }
  37. }
  38. userNameText = dlg.GetBreadthChild<TextMesh>("UserNameText");
  39. userNameText.text = UserInfoMgr.Instance.userConfig.Nick_name;
  40. cameraToggle_Switch = dlg.GetBreadthChild<Toggle>("CameraXRToggle_Switch");
  41. micToggle_Switch = dlg.GetBreadthChild<Toggle>("MicXRToggle_Switch");
  42. toggleGroupTran = dlg.GetBreadthChild<Transform>("ResolutionToggleGroup");
  43. framerateToggleGroup = dlg.GetBreadthChild<Transform>("FramerateToggleGroup");
  44. closeBtn = dlg.GetBreadthChild<Button>("CloseBtn");
  45. closeBtn.onClick.AddListener(OnClickClose);
  46. loginoutBtn = dlg.GetBreadthChild<Button>("LoginOutBtn");
  47. loginoutBtn.onClick.AddListener(OnClickLoginout);
  48. cameraToggle_Switch.onValueChanged.AddListener(ClickCamearaToggle);
  49. micToggle_Switch.onValueChanged.AddListener(ClickMicToggle);
  50. XRToggle[] toggles = toggleGroupTran.GetComponentsInChildren<XRToggle>(true);
  51. for (int i = 0; i < toggles.Length; i++)
  52. {
  53. XRToggle toggle = toggles[i];
  54. toggles[i].onValueChanged.AddListener((bool isOn) => { OnToggle(isOn, toggle); });
  55. if (i == CommonMethod.mySetting.Ratio - 1)
  56. {
  57. toggles[i].isOn = true;
  58. OnToggle(true, toggles[i]);//记得初始化
  59. }
  60. }
  61. XRToggle[] togglegroup = framerateToggleGroup.GetComponentsInChildren<XRToggle>(true);
  62. for (int i = 0; i < togglegroup.Length; i++)
  63. {
  64. XRToggle toggle = togglegroup[i];
  65. togglegroup[i].onValueChanged.AddListener((bool isOn) => { OnFrameToggle(isOn, toggle); });
  66. if (i == CommonMethod.mySetting.Fps - 1)
  67. {
  68. togglegroup[i].isOn = true;
  69. OnFrameToggle(true, togglegroup[i]);
  70. }
  71. }
  72. if (CommonMethod.mySetting.Camera)
  73. {
  74. cameraToggle_Switch.isOn = true;
  75. }
  76. else
  77. {
  78. cameraToggle_Switch.isOn = false;
  79. }
  80. if (CommonMethod.mySetting.Mic)
  81. {
  82. micToggle_Switch.isOn = true;
  83. }
  84. else
  85. {
  86. micToggle_Switch.isOn = false;
  87. }
  88. CustomInfo.isSendVideo = cameraToggle_Switch.isOn;
  89. CustomInfo.isSendAudio = micToggle_Switch.isOn;
  90. }
  91. private void ClickCamearaToggle(bool isOn)
  92. {
  93. CommonMethod.mySetting.Camera = isOn;
  94. CustomInfo.isSendVideo = isOn;
  95. //Debug.Log(CommonMethod.mySetting.Camera + "Camera" + isOn);
  96. }
  97. private void ClickMicToggle(bool isOn)
  98. {
  99. CommonMethod.mySetting.Mic = isOn;
  100. CustomInfo.isSendAudio = isOn;
  101. //Debug.Log(CommonMethod.mySetting.Mic + "Mic" + isOn);
  102. }
  103. private void OnToggle(bool isOn, XRToggle toggle)
  104. {
  105. if (isOn)
  106. {
  107. switch (toggle.name)
  108. {
  109. case "HighXRToggle_CheckBox":
  110. CommonMethod.mySetting.Ratio = 1;
  111. //Debug.Log("HighResolutionBtn");
  112. break;
  113. case "MidXRToggle_CheckBox":
  114. CommonMethod.mySetting.Ratio = 2;
  115. //Debug.Log("MidResolutionBtn");
  116. break;
  117. case "LowXRToggle_CheckBox":
  118. CommonMethod.mySetting.Ratio = 3;
  119. //Debug.Log("LowResolutionBtn");
  120. break;
  121. }
  122. }
  123. }
  124. private void OnFrameToggle(bool isOn, XRToggle toggle)
  125. {
  126. if (isOn)
  127. {
  128. switch (toggle.name)
  129. {
  130. case "15XRToggle_CheckBox":
  131. CommonMethod.mySetting.Fps = 3;
  132. break;
  133. case "30XRToggle_CheckBox":
  134. CommonMethod.mySetting.Fps = 2;
  135. break;
  136. case "60XRToggle_CheckBox":
  137. CommonMethod.mySetting.Fps = 1;
  138. break;
  139. }
  140. }
  141. }
  142. private void OnClickClose()
  143. {
  144. dlg.hideDlg(() => {
  145. //被zby替换的代码
  146. //RoomListModel.Instance.UpdateList(RoomListDlg.Instance.roomlist);
  147. //HomeViewMgr.Instance.ShowView(HomeViewMgr.CREATESEARCHRROOMDLG);
  148. //HomeViewMgr.Instance.roomListDlg.SetActive(true);
  149. MenuListDlg.Instance.UpdateData();
  150. HomeMgr.Instance.ShowView(HomeMgr.CREATESEARCHRROOMDLG);
  151. HomeMgr.Instance.roomListDlg.SetActive(true);
  152. });
  153. HomeProxy.Instance.RequestUpdateSettings(CommonMethod.mySetting.Camera,
  154. CommonMethod.mySetting.Mic,
  155. (RatioType)CommonMethod.mySetting.Ratio,
  156. (FpsType)CommonMethod.mySetting.Fps);
  157. }
  158. private void OnClickLoginout()
  159. {
  160. WSHandler.clientClosed();
  161. //被zby替换的代码
  162. //HomeViewMgr.Instance.LoadLoginSence();
  163. HomeMgr.Instance.LoadLoginSence();
  164. HomeProxy.Instance.RequestUpdateSettings(CommonMethod.mySetting.Camera,
  165. CommonMethod.mySetting.Mic,
  166. (RatioType)CommonMethod.mySetting.Ratio,
  167. (FpsType)CommonMethod.mySetting.Fps);
  168. }
  169. }
  170. }