private void InitializeControllers() { controllers = new List <IController>(); //our gesture library is event based and our keyboard controller is a command pattern. IController keyboard = new Controller(); keyboard.Add(new KeyDownEvent(KeyCode.UpArrow, new MoveForwardAction(PlayerGameObject.transform, pathController))); keyboard.Add(new KeyDownEvent(KeyCode.Space, new DestroyObstacle())); keyboard.Add(new KeyDownEvent(KeyCode.LeftArrow, new MoveLeftAction(PlayerGameObject.transform, pathController))); keyboard.Add(new KeyDownEvent(KeyCode.RightArrow, new MoveRightAction(PlayerGameObject.transform, pathController))); controllers.Add(keyboard); IController gestureController = new GestureController(new KinectBodySource(), 50, true, "Assets/xml/GestureMeasurements.xml", "Assets/xml/GestureDefinitions.xml", false); gestureController.Add(new GestureBinding("row-gestures", new NoOpAction())); controllers.Add(gestureController); GestureRecognizerManager.GestureRecognizedEvent += GestureRecognizerManager_GestureRecognizedEvent; }