private void OnSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { using (var frame = e.OpenSkeletonFrame()) { if (frame.SkeletonArrayLength == 0) return; var skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.CopySkeletonDataTo(skeletons); if (skeletons.All(s => s.TrackingState == SkeletonTrackingState.NotTracked)) return; var skeleton = FindSkeleton(skeletons); var scaled = ScaleSkeleton(skeleton); OnSkeletonFrameRead(skeleton.TrackingId, scaled, frame.Timestamp); } }