void notifyTracking(TrackedHand a, TrackedHand b) { Log("notifyTracking"); foreach (HandTrackingEvent trackedEvent in _handGestureTrackingEvent) { trackedEvent.Invoke(a, b); } }
//Hand Detected event callback void OnMADHGHandDetectedEvent(HandDetected handDetected) { if (HandGestureManager.Instance.isEnabled <HandTrackingController>()) { if (handDetected != null) { Hand hand = handDetected.hand; if (hand != null) { int count = hand.handDatas.Count; if (count > 0) { HandData leftHandData = null; HandData rightHandData = null; for (int i = 0; i < count; i++) { HandData handData = hand.handDatas[i]; if (handData.isLeftHand) { leftHandData = handData; } else { rightHandData = handData; } } HandGestureManager.Instance.sendMessage <HandTrackingController>( TrackedHand.Action.TRACKING, TrackedHand.parse(leftHandData), TrackedHand.parse(rightHandData)); } else { HandGestureManager.Instance.sendMessage <HandTrackingController>( TrackedHand.Action.TRACKING, TrackedHand.parse(null), TrackedHand.parse(null)); } } } } }