protected override void OnSystemSwitch(XRSystem system) { XRControllerModule module = GetComponent <XRControllerModule>(); if (module) { module.System = system; } }
protected override void Update() { base.Update(); XRControllerModule module = GetComponent <XRControllerModule>(); if (module != null) { this.isTracked = module.IsTracked; } else { this.isTracked = false; } }
protected override void OnSystemSwitch(XRSystem system) { XRControllerModule module = GetComponent <XRControllerModule>(); if (module) { module.System = system; //if GVR/Go, disable all modules that don't track this hand if (System == XRSystem.GearVROculusGo && Controllers.Count > 1) { GVRVerifyController(module); } } }
private void GVRVerifyController(XRControllerModule module) { #if OVR OVRInput.Controller controller = OVRInput.GetActiveController(); CheckGVRController.Text += module.hand + " | " + controller + "\n"; if (controller == OVRInput.Controller.None || (module.hand == XRHand.Left && controller == OVRInput.Controller.RTrackedRemote) || (module.hand == XRHand.Right && controller == OVRInput.Controller.LTrackedRemote)) { Debug.Log("Removing " + gameObject.name); gameObject.SetActive(false); this.enabled = false; module.enabled = false; } #endif }
// Update is called once per frame void Update() { if (visible) { Transform mTransform = receiver.module.transform; sPoint = mTransform.position; XRControllerModule module = receiver.module as XRControllerModule; if (module.xrEventData.currentRaycast != null) { ePoint = module.xrEventData.worldPosition; } else { ePoint = mTransform.position + mTransform.rotation * new Vector3(0f, 0f, module.interactDistance); } } else { ePoint = sPoint = Vector3.zero; } DrawRod(); }