SupportControl.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using Blue;
  4. public class SupportControl : AbstractController
  5. {
  6. [SerializeField] private Button Titile_Btn;
  7. [SerializeField] private Toggle ShowHide_Toggle;
  8. private Transform ShowRtcTrans;
  9. private IQueueSystem mQueueSystem;
  10. void Awake()
  11. {
  12. Init();
  13. Titile_Btn.onClick.AddListener(() =>
  14. {
  15. transform.position = ShowRtcTrans.position;
  16. Quaternion ang = Quaternion.LookRotation(OpenXRCamera.Instance.head.position - transform.position);
  17. transform.rotation = ang;
  18. transform.localEulerAngles = new Vector3(transform.localEulerAngles.x,transform.localEulerAngles.y+180f,transform.localEulerAngles.z);
  19. });
  20. ShowHide_Toggle.onValueChanged.AddListener(ShowHideLevel3);
  21. mQueueSystem = this.GetService<IQueueSystem>();
  22. mQueueSystem.Level3QueueCount.Register(mQueueSystemCountNotNull).UnRegisterWhenGameObjectDestroyed(gameObject);
  23. }
  24. public void showRTC()
  25. {
  26. LangChaoRTC.Instance.showRTC(0);
  27. ScenesManager.Instance.showWindow(ScenesManager.SceneType.RoomMain);
  28. }
  29. public void Home()
  30. {
  31. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
  32. }
  33. public void Device()
  34. {
  35. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowDevice);
  36. }
  37. public void Nav()
  38. {
  39. }
  40. public void History()
  41. {
  42. //ShowRTC.Instance.gotoWindow(ScenesManager.SceneType.ShowRTCHistory);
  43. }
  44. private void Init()
  45. {
  46. ShowRtcTrans = new GameObject("ShowRtcTrans").transform;
  47. ShowRtcTrans.position = OpenXRCamera.Instance.head.position + new Vector3(-1,0,0);
  48. ShowRtcTrans.localEulerAngles = new Vector3(0, -90, 0);
  49. ShowRtcTrans.SetParent(OpenXRCamera.Instance.head);
  50. }
  51. private void OnEnable()
  52. {
  53. if(mQueueSystem.Level3QueueCount.Value>0)
  54. ShowHide_Toggle.interactable = true;
  55. Debug.Log($"打开的数量:{mQueueSystem.Level3QueueCount.Value}");
  56. }
  57. private void ShowHideLevel3(bool on)
  58. {
  59. Debug.Log("Level3Queue:"+mQueueSystem.Level3List.Count);
  60. foreach(var go in mQueueSystem.Level3List)
  61. {
  62. go.SetActive(!on);
  63. }
  64. }
  65. private void mQueueSystemCountNotNull(int newCount)
  66. {
  67. if(newCount>0)
  68. ShowHide_Toggle.interactable = true;
  69. Debug.Log($"打开的数量:{mQueueSystem.Level3QueueCount.Value}");
  70. }
  71. }