1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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<VRTK_InteractableObject>();
- //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;
- }
- }
|