private void ReleaseObject() { if (GetComponent <FixedJoint>()) { GetComponent <FixedJoint>().connectedBody = null; Destroy(GetComponent <FixedJoint>()); objectInHand.GetComponent <Rigidbody>().velocity = controllerPose.GetVelocity(); objectInHand.GetComponent <Rigidbody>().angularVelocity = controllerPose.GetAngularVelocity(); } objectInHand = null; heldItem = null; }
private void GrabObject() { objectInHand = collidingObject; collidingObject = null; heldItem = objectInHand.GetComponent <IPickupActionable>(); //Align object //if(objectInHand.CompareTag("Align")) objectInHand.transform.SetPositionAndRotation(controllerPose.transform.position, controllerPose.transform.rotation); var joint = AddFixedJoint(); joint.connectedBody = objectInHand.GetComponent <Rigidbody>(); }
private void RemoveCollidingObject(Collider col) { if (!collidingObject) { return; } if (col.CompareTag("InteractionZone")) { interactionZone.OnExit(); interactionZoneObject = null; interactionZone = null; } collidingObject = null; }
private void SetCollidingObject(Collider col) { if (collidingObject) { return; } if (col.GetComponent <Rigidbody>() || col.CompareTag("InteractionZone")) { collidingObject = col.gameObject; } if (col.CompareTag("InteractionZone")) { interactionZoneObject = collidingObject; interactionZone = interactionZoneObject.GetComponent <IPickupActionable>(); interactionZone.OnEnter(); } }