using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Lib; namespace KinectUtils { public static class GestureManager { public static event EventHandler GestureRecognized; public static List KnownGestures = new List(); public static void AddGestures(IGestureFactory factory) { var gestures = factory.CreateGestures(); foreach (var gesture in gestures) { AddGesture(gesture); } } public static void AddGesture(BaseGesture gesture) { if (!KnownGestures.Contains(gesture)) { KnownGestures.Add(gesture); gesture.GestureRecognized += (sender, e) => GestureRecognized?.Invoke(sender, e); } } public static void RemoveGesture(BaseGesture gesture) { if (KnownGestures.Contains(gesture)) { KnownGestures.Remove(gesture); gesture.GestureRecognized -= (sender, e) => GestureRecognized?.Invoke(sender, e); } } static public void StartAcquiringFrames(KinectManager kinectManager) { throw new NotImplementedException(); } } }