Exemple #1
0
        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();
     }
 }
Exemple #4
0
 private void ButtonUp(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver)
 {
     if (receiver.HeldButtons.Count == 0)
     {
         for (int i = 0; i < _lineRenderers.Length; ++i)
         {
             _lineRenderers[i].enabled = false;
         }
     }
 }
Exemple #5
0
 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);
        }
Exemple #7
0
 private void ButtonUp(XRButtonDatum datum, XRInteractionEventReceiver receiver)
 {
     if (receiver.HeldButtons.Count == 0)
     {
         if (null != _guideVisual && !Completed)
         {
             _guideVisual.gameObject.SetActive(true);
         }
         _drawHighlight = true;
         _grabCount++;
     }
 }
Exemple #8
0
        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;
     }
 }
Exemple #10
0
 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);
     }
 }
Exemple #11
0
 private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver)
 {
 }