void Update() { if (pointer == null) { return; } if (OVRInput.GetDown(OVRInput.Button.Any, OVRInput.Controller.RTrackedRemote) || OVRInput.GetDown(OVRInput.Button.Back, OVRInput.Controller.RTrackedRemote)) { Ray ray = new Ray(pointer.StartPoint, pointer.Forward); RaycastHit[] hits = Physics.RaycastAll(ray, 100f); foreach (RaycastHit hit in hits) { //Debug.Log ($"Hit {hit.transform.name}"); SelectionReactor reactor = GetReactorForHit(hit); if (reactor != null) { //Debug.Log ("Perform action"); reactor.Select(); if (!reactor.propogateHit) { break; } } } } }
void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit[] hits = Physics.RaycastAll(ray, 100f); foreach (RaycastHit hit in hits) { SelectionReactor reactor = GetReactorForHit(hit); if (reactor != null) { reactor.Select(); if (!reactor.propogateHit) { break; } } } } }