public void ArrowTaken(int index, SelectEnterEventArgs args) { if (bow.debugLog) { VRDebug.Log("Arrow taken " + index); } arrowsSpawned[index].transform.localScale = Vector3.one; int killed = menuItems[index].transform.DOKill(); killed += DOTween.Kill(menuItems[index]); if (bow.debugLog) { Debug.Log("select killed " + killed); } // ? todo dont remove all listeners arrowsSpawned[index].selectEntered.RemoveAllListeners(); // make sure arrow is already unparented if (arrowsSpawned[index].transform.parent == menuItems[index].transform) { VRDebug.Log("Arrow taken not unparented!"); arrowsSpawned[index].transform.SetParent(null); } // remove the menu item Destroy(menuItems[index]); menuItems.RemoveAt(index); arrowsSpawned.RemoveAt(index); // recreate it, with a new arrow CreateMenuItem(index); // disable menu for now HideMenuItems(); }
protected override void OnSelectEntering(SelectEnterEventArgs args) { Debug.Log("First Grab Enter"); base.OnSelectEntering(args); gunRay.GradientCheck(false); attachInitialRotation = args.interactor.attachTransform.localRotation; }
protected override void OnSelectEntered(SelectEnterEventArgs selectEnterEventArgs) { base.OnSelectEntered(selectEnterEventArgs); m_GrabbedOffset = selectEnterEventArgs.interactor.transform.position - transform.position; m_GrabbingInteractor = selectEnterEventArgs.interactor; }
protected virtual void OnGrabInteractable(SelectEnterEventArgs args) { foreach (Collider c in args.interactable.colliders) { Physics.IgnoreCollision(_characterController, c, true); } }
private void CreateAndSelectArrow(SelectEnterEventArgs args) { // Create arrow, force into interacting hand Arrow arrow = CreateArrow(args.interactor.transform); interactionManager.ForceSelect(args.interactor, arrow); }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); // Set interactor for measurement pullingInteractor = args.interactor; }
protected virtual void Grab(SelectEnterEventArgs args) { if (!handsVisible) { TryHideHand(args.interactor, false); } }
private void OnSelectEntered(SelectEnterEventArgs selectEnterEventArgs) { if (Time.realtimeSinceStartup - this.awakeTime > 1.0f) { this.networkIdentity.RequestOwnership(); } }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); // need to force hand to go on the string otherwise it could select something else // VRDebug.Log("Forcing hand string connection"); // if (bow.offHand.selectTarget != null && bow.offHand.selectTarget != bowString) // { // interactionManager.CancelInteractorSelection(bow.offHand); // } // interactionManager.SelectEnter(bow.offHand, bowString); // interactionManager.ForceSelect(bow.offHand, bowString); if (!(args.interactable is ArrowInteractable)) { VRDebug.Log("wrong interaction " + args.interactable.name, 5); } // get arrow currentArrow = args.interactable as ArrowInteractable; if (bow.debugLog) { VRDebug.Log("Arrow '" + currentArrow.gameObject.name + "' notched"); } isArrowArmed = false; currentArrow.ArrowSet(); currentArrow.SetBow(bow); bow.ArrowSet(); }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); if (args.interactor is XRDirectInteractor) { Climber.climbingHand = args.interactor.GetComponent <ActionBasedController>(); } }
protected override void OnSelectEntered(SelectEnterEventArgs args) { if (args.interactable.CompareTag(targetTag)) { isUsing = true; } base.OnSelectEntered(args); }
/// <inheritdoc /> protected override void OnSelectEntering(SelectEnterEventArgs args) { base.OnSelectEntering(args); XRBaseInteractor interactor = args.interactor; OnSelectEntering(interactor); }
public void OnSecondGrabbableEnter(SelectEnterEventArgs args) { if (selectingInteractor && selectingInteractor is XRDirectInteractor) { secondInteractor = args.interactor; second = secondInteractor.transform?.Find("Mesh"); initalRotationOffset = Quaternion.Inverse(GetTwoHandRotation()) * selectingInteractor.attachTransform.rotation; } }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); if (args.interactor is XRDirectInteractor) { Player.instance.climbingHand = args.interactor.GetComponent <XRController>(); } }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); if (teleportTrigger == TeleportTrigger.OnSelectEntered) { StartCoroutine(FadeSequence(base.OnSelectEntered, args)); } }
public void OnSecondHandGrab(SelectEnterEventArgs args) { if (args.interactor != null) { if (selectingInteractor) { initialRotationOffset = Quaternion.Inverse(GetTwoHandRotation()) * selectingInteractor.attachTransform.rotation; } } }
protected override void OnSelectEntering(SelectEnterEventArgs args) { if (args.interactor is XRDirectInteractor) { // arrow was grabbed by player ArrowDisplay(false); arrowLogic.ArrowGrabbed(); } base.OnSelectEntering(args); }
/// <inheritdoc /> protected override void OnSelectEntering(SelectEnterEventArgs args) { base.OnSelectEntering(args); XRBaseInteractor interactor = args.interactor; initialAttachPosition = interactor.attachTransform.localPosition; initialAttachRotation = interactor.attachTransform.localRotation; interactor.attachTransform.SetPositionAndRotation(transform.position, transform.rotation); }
protected override void OnSelectEntering(SelectEnterEventArgs args) { // Do this first, so we get the right physics values if (args.interactor is XRDirectInteractor) { Clear(); } // Make sure to do this base.OnSelectEntering(args); }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); if (handPos) { if (selectingInteractor.transform.Find("Mesh")) { hand = selectingInteractor.transform.Find("Mesh"); } } }
protected override void OnSelectEntered(SelectEnterEventArgs args) { if (bow.debugLog) { VRDebug.Log("String Grabbed"); } // bowstring grabbed by player base.OnSelectEntered(args); pullingInteractor = args.interactor; bowNotch.Grabbed(); UpdateLine(); }
protected override void OnSelectEntered(SelectEnterEventArgs args) { VRDebug.Log("Quiver new arrow"); base.OnSelectEntered(args); // spawn arrow Transform interT = args.interactor.transform; GameObject arrow = Instantiate(arrowPrefab, interT.position, interT.rotation); XRBaseInteractable arrInt = arrow.GetComponent <XRBaseInteractable>(); // force select it interactionManager.ForceSelect(args.interactor, arrInt); }
protected override void OnSelectEntering(SelectEnterEventArgs args) { base.OnSelectEntering(args); args.interactor.transform.GetChild(0).gameObject.SetActive(false); rigidBody.useGravity = false; positionOffset = args.interactor.transform.position - rigidBody.position; interactorLastPosition = args.interactor.transform.position; interactorLastRotation = args.interactor.transform.rotation; }
private void HandleObjectSnapped(SelectEnterEventArgs arguments) { XRBaseInteractable interactable = arguments.interactable; SnappedObject = interactable.gameObject.GetComponent <SnappableProperty>(); if (SnappedObject == null) { Debug.LogWarningFormat("SnapZone '{0}' received snap from object '{1}' without XR_SnappableProperty", SceneObject.UniqueName, interactable.gameObject.name); } else { EmitSnapped(); } }
protected override void OnSelectEntering(SelectEnterEventArgs args) { if (args.interactor.CompareTag(Constant.handRight)) { attachTransform.localPosition = rightAttachPos; attachTransform.localRotation = Quaternion.Euler(rightAttachrotation.x, rightAttachrotation.y, rightAttachrotation.z); } else if (args.interactor.CompareTag(Constant.handLeft)) { attachTransform.localPosition = leftAttachPos; attachTransform.localRotation = Quaternion.Euler(leftAttachrotation.x, leftAttachrotation.y, leftAttachrotation.z); } base.OnSelectEntering(args); }
protected override void OnSelectEntering(SelectEnterEventArgs args) { if (args.interactor.CompareTag(Constant.handLeft) || args.interactor.CompareTag(Constant.handRight)) { args.interactor.GetComponentInChildren <CustomController>().GetWeapon(this); gunRay.GradientCheck(rayCheck); isInHolster = false; } else { isInHolster = true; } weaponCollider.isTrigger = true; base.OnSelectEntering(args); }
protected override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); if (args.interactor is XRDirectInteractor) { Climber.climbingHand = args.interactor.GetComponent <XRController>(); } mesh = args.interactor.transform?.Find("Mesh"); if (mesh) { pos = mesh.position; rot = mesh.rotation; } }
protected override void OnSelectEntering(SelectEnterEventArgs args) { if (args.interactor is XRDirectInteractor) { attachTransform.position = args.interactor.transform.position; attachTransform.rotation = args.interactor.transform.rotation; } else { attachTransform.localPosition = initialAttachLocalPos; attachTransform.localRotation = initialAttachLocalRot; } base.OnSelectEntering(args); }
protected override void OnSelectEntered(SelectEnterEventArgs args) { // Once select has occured, scale object to size var temp = args.interactable; if (temp is TwoHandGrabInteractable) { two = temp.GetComponent <TwoHandGrabInteractable>(); two.canTakeByOther = true; if (temp.GetComponentInChildren <XRSimpleInteractable>()) { simple = temp.GetComponentInChildren <XRSimpleInteractable>(); simple.enabled = false; } } else if (temp is XRItemGrabInteractable) { item = temp.GetComponent <XRItemGrabInteractable>(); if (item.GetComponent <DamageSystem>()) { ds = item.GetComponent <DamageSystem>(); ds.enabled = false; } item.canTakeByOther = true; } if (temp.GetComponentInChildren <XROffsetGrabInteractable>()) { offsetGrab = temp.GetComponentInChildren <XROffsetGrabInteractable>(); offsetGrab.enabled = false; } if (temp.GetComponentInChildren <XRSocketInteractorWithName>()) { socket = temp.GetComponentInChildren <XRSocketInteractorWithName>(); if (socket.selectTarget) { var mag = socket.selectTarget.GetComponent <Magazine>(); player.ammoCount += mag.ammoCount; player.SetText(mag.ammoCount, 1); Destroy(mag.gameObject); } socket.showInteractableHoverMeshes = false; socket.enabled = false; } base.OnSelectEntered(args); TweenSizeToSocket(temp); }
private void SelectedSwitch(SelectEnterEventArgs selectEnterEventArgs) { var socketInteractor = selectEnterEventArgs.interactor as HavenSocketInteractor; if (this.CanSocket(socketInteractor) == false) { return; } if (this.disableSocketOnSocketed) { this.ExecuteDelayed(0.1f, () => socketInteractor.socketActive = false); } this.socketedEvent.Invoke(selectEnterEventArgs); }