private void OnFrameReady(object sender, SkeletonFrameReadyEventArgs e) { string status = ""; try { status += "Skeletons: " + e.SkeletonFrame.Skeletons.Count() + "\n"; IEnumerable <SkeletonData> tracked = e.SkeletonFrame.Skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked); SkeletonData skeleton = tracked.FirstOrDefault(); if (skeleton == null) { return; } status += "Has tracked skeleton\n"; Body currentBody = Body.FromSkeleton(skeleton); SmoothenBody(currentBody); DrawPositions(_smoothBody); foreach (IGesture gesture in _gestures) { gesture.ProcessBodyFrame(_smoothBody); } } finally { UpdateStatus(status); } }