private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { // if (_entered.Count > 0) // { // MovementInteraction.SetOverrideDampTarget(_auxTransform); // } }
private void SendButtonHoldEvents(Collider targetCollider, XRButtonDatum datum) { GetInteractions(targetCollider, _recyclableInteractions); bool holdOccured = false; for (int i = 0; i < _recyclableInteractions.Count; ++i) { if (_recyclableInteractions[i].enabled && _recyclableInteractions[i].RecievesInput(datum.InputName) && _tagMask.CompareTags(_recyclableInteractions[i].gameObject)) { _recyclableInteractions[i].OnButtonHold(datum); holdOccured = true; } } if (holdOccured && _dragHaptics) { _accumulatedDelta += datum.PressColliderPositionChildedToControllerDelta.magnitude; if (_accumulatedDelta > _dragTickSteps) { _accumulatedDelta = 0; ParentUserController.FireHapticKey("DragTick"); } } }
private void SendButtonUpEvents(Collider targetCollider, XRButtonDatum datum) { GetInteractions(targetCollider, _recyclableInteractions); bool releaseOccured = false; for (int i = 0; i < _recyclableInteractions.Count; ++i) { if (_recyclableInteractions[i].enabled && _recyclableInteractions[i].RecievesInput(datum.InputName) && _tagMask.CompareTags(_recyclableInteractions[i].gameObject)) { _recyclableInteractions[i].OnButtonUp(datum); releaseOccured = true; } } if (releaseOccured) { if (_enterExitPressReleaseHaptics) { ParentUserController.FireHapticKey("Release"); } if (ButtonHeldCount == 0 && _soloCondition == SoloCondition.InteractorPressedOnInteraction) { ParentUserController.SetSoloState(true, this); } } }
private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { if (receiver.HeldButtons.Count == 1) { Detach(); } }
private void ButtonUp(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { if (_entered.Count > 0 && null == _attachedTo) { AttachTo(_entered[0]); } }
public override void OnButtonDown(XRButtonDatum proximityButtonDatum) { if (proximityButtonDatum.InputName == _holdingButton) { _holding = true; } }
private void OnButtonUp(XRInputName inputName) { //button up may get fired when this interactor is disabled //so which buttons are held, and have been released //must be checked so UnButtonUp does not get called twice XRButtonDatum datum = GetButtonDatum(inputName); if (_heldButtons.Contains(datum)) { _heldButtons.Remove(datum); ButtonHeldCount--; if (null != datum.PressCollider) { SendButtonUpEvents(datum.PressCollider, datum); datum.ButtonUp(); } if (ButtonHeldCount == 0) { _events.LastButtonUp.Invoke(datum); } _events.ButtonUp.Invoke(datum); } }
private void ButtonHold(XRButtonDatum buttonDatum) { Vector2 newOffset = _lineMaterial.mainTextureOffset; newOffset.x -= Time.deltaTime * _lineScrollMultiplier; _lineMaterial.mainTextureOffset = newOffset; _lineRenderer.positionCount = _flexLaserInteractor.StepCount; for (int i = 0; i < _flexLaserInteractor.StepCount; ++i) { _lineRenderer.SetPosition(i, _flexLaserInteractor.StepPoints[i]); } _teleportTargetInstance.transform.position = buttonDatum.ParentInteractor.CurrentHitRay.origin; _teleportTargetInstance.transform.up = buttonDatum.ParentInteractor.CurrentHitRay.direction; if (IsCurrentInteractorPositionValid()) { _lineRenderer.startColor = _validStartColor; _lineRenderer.endColor = _validEndColor; _teleportTargetMaterial.color = _validEndColor; } else { _lineRenderer.startColor = _invalidStartColor; _lineRenderer.endColor = _invalidEndColor; _teleportTargetMaterial.color = _invalidEndColor; } }
private void ButtonHold(XRButtonDatum datum) { if (datum.InputName == _visualizeButtonPressHitRay && _hoverState == HoverState.Press) { _hitTargetInstance.transform.position = datum.RayHitChildedToPressGameObject.origin; _hitTargetInstance.transform.up = datum.RayHitChildedToPressGameObject.direction; } }
public override void OnButtonUp(XRButtonDatum proximityButtonDatum) { base.OnButtonUp(proximityButtonDatum); if (proximityButtonDatum.OverPressSurface()) { _clicked.Invoke(proximityButtonDatum, this); } }
private void ButtonDown(XRButtonDatum buttonDatum) { if (_teleportButton == buttonDatum.InputName) { _lineRenderer.enabled = true; _teleportTargetInstance.gameObject.SetActive(true); } }
public virtual void OnButtonDown(XRButtonDatum buttonDatum) { _heldButtons.Add(buttonDatum); if (_heldButtons.Count == 1 && _hoveringCoroutine == null) { _hoveringCoroutine = StartCoroutine(HoveringCoroutine()); } _events.ButtonDown.Invoke(buttonDatum, this); }
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 ButtonDown(XRButtonDatum datum) { if (datum.InputName == _visualizeButtonPressHitRay && datum.PressCollider != null) { _hoverState = HoverState.Press; _hitTargetMaterial.color = _pressEndColor; _hitTargetInstance.transform.localScale = new Vector3( _hitTargetScale * 1.5f, _hitTargetScale * 1.5f, _hitTargetScale * 1.5f); } }
public override void OnButtonDown(XRButtonDatum buttonDatum) { base.OnButtonDown(buttonDatum); if (HeldButtons.Count == 1) { if (null != AttachedRigidbody) { AttachedRigidbody.isKinematic = true; AttachedRigidbody.useGravity = false; } } }
public override void OnButtonUp(XRButtonDatum proximityButtonDatum) { if (proximityButtonDatum.InputName == _holdingButton) { _holding = false; } if (_holding && proximityButtonDatum.InputName == _fireButton) { Instantiate(_instantiationPrefab, _spawnLocation.position, _spawnLocation.rotation); } }
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 OnButtonHold(XRInputName inputName) { XRButtonDatum datum = GetButtonDatum(inputName); if (null != datum.PressCollider) { datum.ButtonHold(); SendButtonHoldEvents(datum.PressCollider, datum); } _events.ButtonHold.Invoke(datum); }
private void ButtonUp(XRButtonDatum datum) { if (datum.InputName == _visualizeButtonPressHitRay && _hoverState == HoverState.Press) { _hoverState = HoverState.Hover; _hitTargetMaterial.color = _hoverEndColor; _hitTargetInstance.transform.localScale = new Vector3( _hitTargetScale, _hitTargetScale, _hitTargetScale); } }
private void ButtonUp(XRButtonDatum buttonDatum) { if (_teleportButton == buttonDatum.InputName) { _lineRenderer.enabled = false; _teleportTargetInstance.gameObject.SetActive(false); if (IsCurrentInteractorPositionValid()) { _userRoot.TweenTranslation(TranslationToTarget()); } } }
private void ButtonUp(XRButtonDatum datum, XRInteractionEventReceiver receiver) { if (_states[ButtonToChiralityIndex(datum)] == HoverState.Press && _interactionEventReceiver.enabled && _interactionEventReceiver.HoveringInteractors.Contains(datum.ParentInteractor)) { _states[ButtonToChiralityIndex(datum)] = HoverState.Hover; } else { _states[ButtonToChiralityIndex(datum)] = HoverState.Empty; } }
public virtual void OnButtonUp(XRButtonDatum buttonDatum) { _heldButtons.Remove(buttonDatum); if (_hoveringInteractors.Count == 0 && _heldButtons.Count == 0) { if (null != _hoveringCoroutine) { StopCoroutine(_hoveringCoroutine); } _hoveringCoroutine = null; } _events.ButtonUp.Invoke(buttonDatum, this); }
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 SetHighlightPositions(int index) { XRPhysicsInteractor interactor = _interactionEventReceiver.GetHoveringInteractor((Chirality)index + 1); XRButtonDatum datum = _interactionEventReceiver.GetHeldButton((Chirality)index + 1); if (null != datum) { _highlightMaterial.SetVector( HighlightPropertyNames[index], datum.RayHitChildedToPressGameObject.origin); } else if (null != interactor) { _highlightMaterial.SetVector( HighlightPropertyNames[index], interactor.CurrentSourceRay.origin); } }
public override void OnButtonUp(XRButtonDatum buttonDatum) { base.OnButtonUp(buttonDatum); if (HeldButtons.Count == 0) { _setToInitialKinematicWhenNearInputTarget = false; if (null != AttachedRigidbody && null == _overrideDampTarget) { AttachedRigidbody.isKinematic = _initialIsKinematic || RetainIsKinematic; AttachedRigidbody.useGravity = _initialRigidyUseGravity; AttachedRigidbody.velocity = _moveVelocity; AttachedRigidbody.angularVelocity = new Vector3( _rotateVelocity.x * Mathf.Deg2Rad, _rotateVelocity.y * Mathf.Deg2Rad, _rotateVelocity.z * Mathf.Deg2Rad); } } }
private void OnButtonDown(XRInputName inputName) { ButtonHeldCount++; XRButtonDatum datum = GetButtonDatum(inputName); _heldButtons.Add(datum); if (CanInteractWithCurrentGameObject()) { datum.ButtonDown(CurrentCollider, CurrentHitRay); SendButtonDownEvents(CurrentCollider, datum); } if (ButtonHeldCount == 1) { _events.FirstButtonDown.Invoke(datum); } _events.ButtonDown.Invoke(datum); }
public override void OnButtonUp(XRButtonDatum buttonDatum) { base.OnButtonUp(buttonDatum); }
public override void OnButtonDown(XRButtonDatum buttonDatum) { base.OnButtonDown(buttonDatum); _priorAngle = YAngle(); _deltaAngle = 0; }
private void ButtonDown(XRButtonDatum buttonDatum, XRInteractionEventReceiver receiver) { }