// Collision and Trigger Detection Methods //================================================ private void OnCollisionStay(Collision col) { if (detectLeapCollision.isHandCollision(col.gameObject)) { determineIfHandPetting(col.gameObject); } }
// Lift occurs if: // - hand is moving "up" (visually) // - palm of hand is facing up private void OnCollisionEnter(Collision col) { if (detectLeapCollision.isHandCollision(col.gameObject)) { Hand colHand = detectLeapCollision.getHandFromCollision(col.gameObject); if (colHand == null) { return; } if (!isMovingDownLocalAxisY(detectLeapCollision.getPalmFromCollision(col.gameObject), colHand.PalmVelocity.ToVector3())) { return; } if (colHand.IsLeft && handObserverLeft.isOpenFaceUp()) { attachToObject(attachLeftHandObj); updateLiftVariables(handObserverLeft, colHand, true); } else if (colHand.IsRight && handObserverRight.isOpenFaceUp()) { attachToObject(attachRightHandObj); updateLiftVariables(handObserverRight, colHand, true); } } }