// Update is called once per frame void Update() { if (proximityDetector == true) { // Loop through hand array for (int i = 0; i < 10; i++) { // Get proximity detector component on each finger proxDetect = HandArr[i].GetComponent <Leap.Unity.ProximityDetector>(); // If proximity detector has an object within range if (proxDetect.CurrentObject != null) { // Track the active object with the array value proxDetectActive = i; } // If active proximity detector leaves the object if (proxDetect.CurrentObject == null && proxDetectActive == i && (onText.activeSelf || offText.activeSelf)) { // Call Button UnPresed and reset ButtonUnPressed(); proxDetectActive = -1; } } } } //END UPDATE
private void initHand() { // Initialize Hand into an Array for ease of access HandArr[0] = LeftThumb; HandArr[1] = LeftIndexFinger; HandArr[2] = LeftMiddleFinger; HandArr[3] = LeftRingFinger; HandArr[4] = LeftPinkieFinger; HandArr[5] = RightThumb; HandArr[6] = RightIndexFinger; HandArr[7] = RightMiddleFinger; HandArr[8] = RightRingFinger; HandArr[9] = RightPinkieFinger; // Loop through hand array for (int i = 0; i < 10; i++) { //Initialize OnProximity to current object and ButtonPressed Method proxDetect = HandArr[i].GetComponent <Leap.Unity.ProximityDetector>(); proxDetect.OnProximity.AddListener(delegate { ButtonPressed(); }); proxDetect.TargetObjects = new GameObject[1]; proxDetect.TargetObjects.SetValue(targetObject, 0); } }