using System.Collections; using System.Collections.Generic; using UnityEngine; using VRTK; using ChivaXR.VR; public class InteractableHintElement : MonoBehaviour { private VRTK_InteractableObject interactable; private CVR_TriggerTool triggerTool; public SDK_BaseController.ControllerHand currentTouchHand; public string gripInfo_Hold = "侧键-放下"; public string gripInfo_No = "侧键-拾取"; public string triggerInfo = "扳机键-使用"; void Awake() { interactable = this.GetComponent(); //interactable.InteractableObjectTouched += Touch; //interactable.InteractableObjectUntouched += UnTouch; } public void Touch(object sender, InteractableObjectEventArgs e) { currentTouchHand = VRTK_DeviceFinder.GetControllerHand(e.interactingObject); if (interactable.isGrabbable) { HandHintController.GetInstance().ShowHandHint(currentTouchHand, SDK_BaseController.ButtonTypes.Grip); HandHintController.GetInstance().UpdateToolTipsText(currentTouchHand, SDK_BaseController.ButtonTypes.Grip, gripInfo_No); //LearningUIController.Instance.SetText("点击手柄侧键,拾取当前工具"); } else { HandHintController.GetInstance().ShowHandHint(currentTouchHand, SDK_BaseController.ButtonTypes.Trigger); LearningUIController.Instance.SetText("按住扳机键,沿衬条抽出方向,移动手柄"); } } public void UnTouch(object sender, InteractableObjectEventArgs e) { if (interactable.isGrabbable) { HandHintController.GetInstance().CloseHandHint(currentTouchHand, SDK_BaseController.ButtonTypes.Grip); } else { HandHintController.GetInstance().CloseHandHint(currentTouchHand, SDK_BaseController.ButtonTypes.Trigger); } currentTouchHand = SDK_BaseController.ControllerHand.None; } }