LeftHandleController.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using QFramework;
  5. using UnityEngine;
  6. using UnityEngine.SceneManagement;
  7. using VRTK;
  8. /// <summary>
  9. /// 左手柄操作
  10. /// </summary>
  11. public class LeftHandleController : MonoBehaviour
  12. {
  13. [SerializeField]
  14. private GameObject m_UICanvasPanel;
  15. /// <summary>
  16. /// 射线检测到的物体信息
  17. /// </summary>
  18. private GameObject m_RayModelInfo;
  19. private VRTK_ControllerEvents m_LeftHandleController;
  20. // Start is called before the first frame update
  21. void Start()
  22. {
  23. Debug.Log("进入当前流程");
  24. m_UICanvasPanel = transform.Find("UICanvas").gameObject;
  25. if (m_UICanvasPanel.activeInHierarchy)
  26. {
  27. m_UICanvasPanel.SetActive(false);
  28. }
  29. }
  30. /// <summary>
  31. /// 左手柄菜单键事件
  32. /// </summary>
  33. /// <param name="sender"></param>
  34. /// <param name="e"></param>
  35. private void LeftHandleEvent_ButtonTwoPressed(object sender, ControllerInteractionEventArgs e)
  36. {
  37. CloseAllPanel();
  38. m_UICanvasPanel.SetActive(!m_UICanvasPanel.activeSelf);
  39. // 初始化面板操作
  40. if (m_UICanvasPanel.activeSelf)
  41. {
  42. //m_UICanvasPanel.transform.Find("MenuPanel").GetComponent<MenuPanel>().InitOperation();
  43. }
  44. }
  45. /// <summary>
  46. /// 左手柄菜单键事件 - 教学模式
  47. /// </summary>
  48. /// <param name="sender"></param>
  49. /// <param name="e"></param>
  50. private void RightHandleEvent_ButtonTwoPressed(object sender, ControllerInteractionEventArgs e)
  51. {
  52. CloseAllPanel();
  53. }
  54. /// <summary>
  55. /// 右手柄射线检测滑入
  56. /// </summary>
  57. /// <param name="sender"></param>
  58. /// <param name="e"></param>
  59. /// <exception cref="NotImplementedException"></exception>
  60. private void RightPointer_DestinationMarkerEnter(object sender, DestinationMarkerEventArgs e)
  61. {
  62. }
  63. /// <summary>
  64. /// 右手柄扳机事件
  65. /// </summary>
  66. /// <param name="sender"></param>
  67. /// <param name="e"></param>
  68. private void RightHandleEvent_TriggerPressed(object sender, ControllerInteractionEventArgs e)
  69. {
  70. if (m_RayModelInfo == null)
  71. {
  72. return;
  73. }
  74. // 跳转场景
  75. SceneManager.LoadSceneAsync("02.Operation");
  76. }
  77. private void OnDisable()
  78. {
  79. // m_LeftHandleController.ButtonTwoPressed -= LeftHandleEvent_ButtonTwoPressed;
  80. // VREquipmentModel.Instance.RightControllerEvent.ButtonTwoPressed -= RightHandleEvent_ButtonTwoPressed;
  81. // VREquipmentModel.Instance.RightControllerEvent.TriggerPressed -= RightHandleEvent_TriggerPressed;
  82. }
  83. /// <summary>
  84. /// 关闭所有已打开面板
  85. /// </summary>
  86. private void CloseAllPanel()
  87. {
  88. //PanelLoad.Instance.ClosePositiveAbnormalStatePanel();
  89. //PanelLoad.Instance.CloseDetailedIntroductionPanel();
  90. //PanelLoad.Instance.CloseAutomaticDisassemblyPanel();
  91. }
  92. }