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);
}
}