private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { // if (_entered.Count > 0) // { // MovementInteraction.SetOverrideDampTarget(_auxTransform); // } }
private void ButtonUp(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { if (_entered.Count > 0 && null == _attachedTo) { AttachTo(_entered[0]); } }
private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { if (receiver.HeldButtons.Count == 1) { Detach(); } }
private void ButtonUp(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { if (receiver.HeldButtons.Count == 0) { for (int i = 0; i < _lineRenderers.Length; ++i) { _lineRenderers[i].enabled = false; } } }
private void ButtonDown(XRButtonDatum datum, XRInteractionEventReceiver receiver) { if (receiver.HeldButtons.Count == 1) { if (null != _guideVisual) { _guideVisual.gameObject.SetActive(false); } _drawHighlight = false; } }
private void ButtonsHeld(XRInteractionEventReceiver receiver) { Vector3 sourcePoint = MovementInteraction.InputTargetPosition.Value; if (_attachOffset != Vector3.zero) { sourcePoint += (MovementInteraction.InputTargetRotation.Value * _attachOffset); } _physicsVolume.TestForIntersections(sourcePoint, _scanDistance); Debug.DrawRay(sourcePoint, Vector3.up, Color.yellow); }
private void ButtonUp(XRButtonDatum datum, XRInteractionEventReceiver receiver) { if (receiver.HeldButtons.Count == 0) { if (null != _guideVisual && !Completed) { _guideVisual.gameObject.SetActive(true); } _drawHighlight = true; _grabCount++; } }
private void ButtonsHeld(XRInteractionEventReceiver receiver) { if (_attachable.CanAttachTo.Count > 0 && _attachable.CanAttachTo.Count > 0 && _attachable.CanAttachTo[0].enabled) { if (!_lineRenderers[0].enabled) { LineVisibility(true); } Transform targetTransform = _attachable.CanAttachTo[0].VisualizerTarget.transform; Ray sourceRay = new Ray(_sweepMesh.transform.position, _sweepMesh.transform.forward); Ray targetRay = new Ray(targetTransform.position, targetTransform.forward); float distance = Vector3.Distance(transform.position, targetTransform.position); float handleDistance = distance / 3f; CubicBezierSegment segment = new CubicBezierSegment( sourceRay.origin, sourceRay.GetPoint(handleDistance), targetRay.GetPoint(-handleDistance), targetRay.origin); Vector3 initialSweepPosition = _sweepMesh.transform.localPosition; Quaternion initialLocalSweepRotation = _sweepMesh.transform.localRotation; Quaternion initialSweepRotation = _sweepMesh.transform.rotation; for (int i = 0; i < _lineRenderers.Length; ++i) { int positionIndex = 0; for (int step = 0; step < _stepLength; ++step) { float stepNormalized = (float)step / (float)_stepLength; _sweepMesh.transform.position = segment.Point(stepNormalized); _sweepMesh.transform.rotation = Quaternion.Slerp(initialSweepRotation, targetTransform.rotation, stepNormalized); _lineVertices[i][positionIndex] = _sweepMesh.transform.TransformPoint(_sweepVertices[i]); positionIndex++; _lineRenderers[i].SetPositions(_lineVertices[i]); Vector2 newOffset = _lineRenderers[i].material.mainTextureOffset; newOffset.x -= Time.deltaTime * _lineScrollMultiplier; _lineRenderers[i].material.mainTextureOffset = newOffset; } } _sweepMesh.transform.localPosition = initialSweepPosition; _sweepMesh.transform.localRotation = initialLocalSweepRotation; } }
private void ButtonUp(XRButtonDatum datum, XRInteractionEventReceiver receiver) { if (receiver.HeldButtons.Count == 0 && Activated) { if (null != _toolGuideVisual && !Completed) { _toolGuideVisual.gameObject.SetActive(true); } if (null != _torqueGuideVisual) { _torqueGuideVisual.gameObject.SetActive(false); } _drawToolHighlight = true; } }
private void ButtonsHeld(XRInteractionEventReceiver receiver) { if (_entered.Count > 0) { const float extensionMultiplier = 1.2f; _physicsVolume.TestForIntersections( MovementInteraction.InputTargetPosition.Value, (_attachOffset.magnitude + _scanDistance) * extensionMultiplier); } else { Vector3 sourcePoint = SourcePoint(); Debug.DrawRay(sourcePoint, Vector3.up * _scanDistance, Color.red); _physicsVolume.TestForIntersections(sourcePoint, _scanDistance); } }
private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { }