public void GrabEnd(CustomHand hand) { if (typeReload == TypeReload.Slider) { enabled = true; returnSpeed = 0; returnStart = ReloadObject.localPosition.z; } if (typeReload == TypeReload.LeverAction) { enabled = true; } if (typeReload == TypeReload.Revolver) { if (reloadFinish) { BulletOn.Invoke(); ReloadObject.GetChild(0).localEulerAngles = new Vector3(0, 0, revolverBulletID * 360 / magazineRevolver.capacity); } if (HummerRevolver) { HummerRevolver.localEulerAngles = new Vector3(ClampPosition.x, 0); } } DettachHand(hand); }
public void GrabEnd(CustomHand hand) { DettachHand(hand); if (!leftHand && !rightHand) { saveVariables.LoadProperty(MyRigidbody); } if (pickReleaseOnce) { if (!rightHand && !leftHand) { ReleaseHand.Invoke(); //sound } } else { ReleaseHand.Invoke(); } if (leftHand) { leftHand.SetBlendPose(1); leftHand.SetEndFramePos(); } if (rightHand) { rightHand.SetBlendPose(1); rightHand.SetEndFramePos(); } }
public void GrabUpdate(CustomHand hand) { Transform tempPoser = GetMyGrabPoserTransform(hand); Vector3 HandTolocalPos = transform.InverseTransformPoint(hand.pivotPoser.position); HandTolocalPos.z = 0; tempPoser.localPosition = HandTolocalPos; if (hand.handType == SteamVR_Input_Sources.LeftHand) { angle -= Vector2.SignedAngle(tempPoser.localPosition, oldPosLeft) * (leftHand && rightHand?leftHand.squeeze == rightHand.squeeze?.5f:hand.squeeze / (Mathf.Epsilon + (leftHand.squeeze + rightHand.squeeze)) : 1f); oldPosLeft = new Vector2(HandTolocalPos.x, HandTolocalPos.y); } else { if (hand.handType == SteamVR_Input_Sources.RightHand) { angle -= Vector2.SignedAngle(tempPoser.localPosition, oldPosRight) * (leftHand && rightHand?leftHand.squeeze == rightHand.squeeze?.5f:hand.squeeze / (Mathf.Epsilon + (leftHand.squeeze + rightHand.squeeze)) : 1f); oldPosRight = new Vector2(HandTolocalPos.x, HandTolocalPos.y); } } angle = Mathf.Clamp(angle, -clamp, clamp); RotationObject.localEulerAngles = new Vector3(0, 0, angle); tempPoser.localPosition = tempPoser.localPosition.normalized * radius; tempPoser.rotation = Quaternion.LookRotation(ReversHand? transform.forward:-transform.forward, tempPoser.position - transform.position); }
void GrabUpdate(CustomHand hand) { if ((rightHand || leftHand) && GetMyGrabPoserTransform(hand)) { hand.SkeletonUpdate(); GetComponentInChildren <MeshRenderer>().material.color = Color.grey; float tempDistance = Mathf.Clamp(StartButtonPosition - (StartButtonPosition - transform.InverseTransformPoint(hand.PivotPoser.position).z) * DistanceMultiply, StartButtonPosition, distanseToPress); if (tempDistance >= distanseToPress) { GetComponentInChildren <MeshRenderer>().material.color = Color.blue; if (!press) { ButtonDown.Invoke(); } press = true; ButtonUpdate.Invoke(); } else { if (press) { ButtonUp.Invoke(); } press = false; } MoveObject.localPosition = new Vector3(0, 0, tempDistance); MoveObject.rotation = Quaternion.LookRotation(GetMyGrabPoserTransform(hand).forward, hand.PivotPoser.up); hand.GrabUpdateCustom(); } }
void GrabStart(CustomHand hand) { SetInteractibleVariable(hand); hand.SkeletonUpdate(); hand.grabType = CustomHand.GrabType.Select; Grab.Invoke(); }
public void CustomUpdate(CustomHand hand) { if (weaponController.GetMyGrabPoser(hand) == weaponController.grabPoints[0]) // check if hand holding a handle with trigger { triggerAxis = triggerState.GetAxis(hand.handType); if (triggerClick.GetStateDown(hand.handType) && state == 0) { state = 1; //weaponController.Shoot(); } else if (triggerClick.GetStateUp(hand.handType)) { state = 2; } else if (state == 2 && triggerAxis < 0.5f) { state = 0; } TriggerTransformMovement(triggerAxis); } else { return; } }
// public void GrabStart(CustomHand hand) { // power steering stuff PowerSteeringActive = false; // SetInteractibleVariable(hand); hand.SkeletonUpdate(); hand.PivotUpdate(); Transform tempPoser = GetMyGrabPoserTransform(hand); Vector3 HandTolocalPos = transform.InverseTransformPoint(hand.PivotPoser.position); HandTolocalPos.z = 0; tempPoser.localPosition = HandTolocalPos; if (hand.handType == SteamVR_Input_Sources.LeftHand) { oldPosLeft = new Vector2(HandTolocalPos.x, HandTolocalPos.y); } else { if (hand.handType == SteamVR_Input_Sources.RightHand) { oldPosRight = new Vector2(HandTolocalPos.x, HandTolocalPos.y); } } ReversHand = Vector3.Angle(transform.forward, hand.PivotPoser.forward) < 90; Grab.Invoke(); }
public void GrabUpdate(CustomHand hand) { angle = -Vector2.SignedAngle(new Vector2(transform.InverseTransformPoint(hand.PivotPoser.position).y, transform.InverseTransformPoint(hand.PivotPoser.position).z), Vector2.up); MoveObject.localEulerAngles = new Vector3(Mathf.Clamp(angle, Switch.x, Switch.y), 0); //hand position, if you need them not rotating //GetMyGrabPoserTransform (hand).position = RotationObject.position+ RotationObject.forward * distance; }
public void GrabUpdate(CustomHand hand) { if (fillBehavior == FillBehavior.FillOnCommand) { FillMagUpdateCheck(hand); } }
public void GrabEnd(CustomHand hand) { // powerSteering stuff // DettachHand(hand); ReleaseHand.Invoke(); }
public void GrabEnd(CustomHand hand) { DetachHand(hand); if (returnToZero) { enabled = true; } releaseHand.Invoke(); }
Vector3 oldDir; //old hands rotation public void GrabStart(CustomHand hand) { SetInteractibleVariable(hand); hand.SkeletonUpdate(); GetMyGrabPoserTransform(hand).rotation = Quaternion.LookRotation(transform.forward, hand.PivotPoser.up); oldDir = transform.InverseTransformDirection(hand.PivotPoser.up); GetMyGrabPoserTransform(hand).transform.position = hand.PivotPoser.position; Grab.Invoke(); }
void GrabEnd(CustomHand hand) { //if ((rightHand || leftHand) && GetMyGrabPoserTransform(hand)) //{ MoveObject.localPosition = new Vector3(0, 0, StartButtonPosition); DettachHand(hand); GetComponentInChildren <MeshRenderer>().material.color = Color.green; //} ReleaseHand.Invoke(); }
void FillMagUpdateCheck(CustomHand hand) { if (LowerButtonClick.GetStateUp(hand.handType)) { fillCommandClick = false; } if (!fillCommandClick && LowerButtonClick.GetStateDown(hand.handType)) { FillMagazine(); } }
public void GrabUpdate(CustomHand hand) { angle += Vector3.SignedAngle(oldDir, transform.InverseTransformDirection(hand.PivotPoser.up), Vector3.forward); if (clamp != Vector2.zero) { angle = Mathf.Clamp(angle, clamp.x, clamp.y); } RotationObject.localEulerAngles = new Vector3(0, 0, angle); GetMyGrabPoserTransform(hand).transform.position = transform.position; // Vector3.MoveTowards (GetMyGrabPoserTransform (hand).transform.position, transform.TransformPoint(Vector3.zero), Time.deltaTime*.5f); oldDir = transform.InverseTransformDirection(hand.PivotPoser.up); }
public SteamVR_Skeleton_Poser GetMyGrabPoser(CustomHand hand) { if (hand.handType == SteamVR_Input_Sources.LeftHand && leftMyGrabPoser) { return(leftMyGrabPoser); } if (hand.handType == SteamVR_Input_Sources.RightHand && rightMyGrabPoser) { return(rightMyGrabPoser); } return(null); }
public Transform GetMyGrabPoserTransform(CustomHand hand) { if (hand.handType == SteamVR_Input_Sources.LeftHand && leftMyGrabPoser) { return(leftMyGrabPoser.transform); } if (hand.handType == SteamVR_Input_Sources.RightHand && rightMyGrabPoser) { return(rightMyGrabPoser.transform); } return(null); }
public void HoldOpenReleaseUpdate(CustomHand hand) { if (UpperButtonClick.GetStateUp(hand.handType)) { holdOpenReleaseClick = false; } if (!holdOpenReleaseClick && UpperButtonClick.GetStateDown(hand.handType)) { manualReload.enabled = true; manualReload.holdOpen = false; holdOpenReleaseClick = true; } }
public void GrabStart(CustomHand hand) { if (weaponController) { IEnumerator coroutine = weaponController.DetachDelay(.25f, false); weaponController.StartCoroutine(coroutine); transform.parent = null; weaponController.attachedMag = null; weaponController = null; gameObject.layer = defaultLayer; stikingAmmo.layer = defaultLayer; } }
public void customUpdate(CustomHand hand) { if (triggerClick.GetStateUp(hand.handType)) { isClick = false; } switch (typeShoot) { case TypeShoot.Semi: if (!isClick && triggerClick.GetStateDown(hand.handType)) { if (manualReload.typeReload == ManualReload.TypeReload.Revolver) { manualReload.RevolverNextBullet(); } if (manualReload.reloadFinish && primitiveWeapon.Shoot()) { isClick = true; if (manualReload.typeReload == ManualReload.TypeReload.Slider) { manualReload.enabled = true; } } } break; case TypeShoot.Automatic: if (triggerClick.GetState(hand.handType) && manualReload.reloadFinish && primitiveWeapon.Shoot()) { if (manualReload.typeReload == ManualReload.TypeReload.Slider) { manualReload.enabled = true; } } break; default: break; } Axis = triggerAxis.GetAxis(hand.handType); transform.localEulerAngles = new Vector3(Mathf.Lerp(angle.x, angle.y, Axis), 0); if (manualReload.typeReload == ManualReload.TypeReload.Revolver) { manualReload.CustomRevolverUpdate(); } }
public void DettachHand(CustomHand hand) { hand.DetachHand(); if (hand.handType == SteamVR_Input_Sources.LeftHand) { leftMyGrabPoser = null; leftHand = null; } if (hand.handType == SteamVR_Input_Sources.RightHand) { rightMyGrabPoser = null; rightHand = null; } }
public void GrabStartCustom(CustomHand hand) { Vector3 tempPosHandLocal = transform.InverseTransformPoint(hand.GrabPoint()); tempPosHandLocal.x = 0; tempPosHandLocal.y = 0; MyRigidbody.useGravity = false; MyRigidbody.isKinematic = false; MyRigidbody.maxAngularVelocity = float.MaxValue; if (tempPosHandLocal.z > clampHandlePosZ.x && tempPosHandLocal.z < clampHandlePosZ.y) { if (hand.handType == SteamVR_Input_Sources.LeftHand) { SetInteractibleVariable(hand, handleObject [0]); handleObject [0].transform.localPosition = tempPosHandLocal; } else { if (hand.handType == SteamVR_Input_Sources.RightHand) { SetInteractibleVariable(hand, handleObject [1]); handleObject [1].transform.localPosition = tempPosHandLocal; } } } else { SetInteractibleVariable(hand); } if (leftHand && rightHand) { leftIsForvard = transform.InverseTransformPoint(leftMyGrabPoser.transform.position).z > transform.InverseTransformPoint(rightMyGrabPoser.transform.position).z; LocalDirectionWithPivotLeft = leftMyGrabPoser.transform.InverseTransformDirection(transform.up); LocalDirectionWithPivotRight = rightMyGrabPoser.transform.InverseTransformDirection(transform.up); } if (pickReleaseOnce) { if (!leftHand || !rightHand) { Grab.Invoke(); //sound } } else { Grab.Invoke(); } }
public void DettachHands() { if (leftHand) { leftHand.DetachHand(); leftMyGrabPoser = null; leftHand = null; } if (rightHand) { rightHand.DetachHand(); rightMyGrabPoser = null; rightHand = null; } }
public void GrabEnd(CustomHand hand) { onOrOff = angle < 0; if (onOrOff) { SwithOn.Invoke(); } else { SwithOff.Invoke(); } MoveObject.localEulerAngles = new Vector3(angle < 0?Switch.x:Switch.y, 0); DettachHand(hand); ReleaseHand.Invoke(); }
public void customUpdate(CustomHand hand) { //Debug.Log(hand.handType); // returns LeftHand or RightHand switch (hand.handType.ToString()) { case "LeftHand": l_Axis = triggerAxis.GetAxis(hand.handType); break; case "RightHand": r_Axis = triggerAxis.GetAxis(hand.handType) * -1; break; default: break; } }
public void GrabStart(CustomHand hand) { if (primitiveWeapon) { primitiveWeapon.attachMagazine = null; transform.parent = null; canLoad = true; for (int i = 0; i < primitiveWeapon.myCollidersToIgnore.Length; i++) { for (int j = 0; j < MagazineColliders.Length; j++) { Physics.IgnoreCollision(primitiveWeapon.myCollidersToIgnore[i], MagazineColliders[j], false); } } primitiveWeapon = null; } }
public void GrabUpdate(CustomHand hand) { GrabUpdateCustom(hand); if (GetMyGrabPoser(hand) == triggerPoser) { trigger.customUpdate(hand); } if (recoil) { MyRigidbody.velocity += transform.TransformDirection(recoil.localPosition / Time.fixedDeltaTime); MyRigidbody.angularVelocity += PhysicalObject.GetAngularVelocities(transform.rotation, recoil.rotation, hand.GetBlend()); } RecoilReturn(); }
public bool CanSelected(CustomHand hand) { if (!leftHand && !rightHand) { return(true); } else { if ((leftHand && leftHand == hand) || (rightHand && rightHand == hand)) { return(true); } else { return(false); } } }
public void MagReleaseUpdate(CustomHand hand) { //Debug.Log("dropped mag button checked"); if (LowerButtonClick.GetStateUp(hand.handType)) { magReleaseClick = false; } if (!magReleaseClick && LowerButtonClick.GetStateDown(hand.handType)) { //Debug.Log("dropped mag button clicked"); // do the mag release if (attachMagazine != null) { attachMagazine.DropMagazine(); } magReleaseClick = true; } }
public void GrabEndCustom(CustomHand hand) { DettachHand(hand); if (!leftHand && !rightHand) { saveVariables.LoadProperty(MyRigidbody); } if (pickReleaseOnce) { if (!rightHand && !leftHand) { ReleaseHand.Invoke(); //sound } } else { ReleaseHand.Invoke(); } }