private void AddStatue(Statues name) { IGestureSegment[] segments = null; switch (name) { case Statues.HandUp: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new HandUpSegment(); } break; case Statues.HandRight: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new HandRightSegment(); } break; case Statues.HandLeft: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new HandLeftSegment(); } break; case Statues.HandBottom: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new HandBottomSegment(); } break; case Statues.Reset: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new ResetSegment(); } break; case Statues.Jump: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new JumpSegment(); } break; case Statues.TurnRight: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new TurnRightSegment(); } break; case Statues.TurnLeft: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new TurnLeftSegment(); } break; case Statues.OpenRepeat: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new OpenRepeatSegment(); } break; case Statues.CloseRepeat: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new CloseRepeatSegment(); } break; case Statues.Stop: segments = new IGestureSegment[15]; for (int i = 0; i < 15; i++) { segments[i] = new StopSegment(); } break; case Statues.GreenFlag: segments = new IGestureSegment[15]; for (int i = 0; i < 15; i++) { segments[i] = new GreenFlagSegment(); } break; case Statues.Grow: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new GrowSegment(); } break; case Statues.Shrink: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new ShrinkSegment(); } break; case Statues.ChangeScene: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new ChangeSceneSegment(); } break; case Statues.NormalSize: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new NormalSizeSegment(); } break; case Statues.Show: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new ShowSegment(); } break; case Statues.Hide: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new HideSegment(); } break; case Statues.Speed: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new SpeedSegment(); } break; case Statues.Wait: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new WaitSegment(); } break; case Statues.TouchAnotherSprite: segments = new IGestureSegment[NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new TouchAnotherSpriteSegment(); } break; case Statues.WaveRight: segments = new IGestureSegment[2 * NB_FRAME]; for (int i = 0; i < NB_FRAME; i++) { segments[i] = new WaveRightSegment1(); } for (int i = NB_FRAME; i < 2 * NB_FRAME; i++) { segments[i] = new WaveRightSegment2(); } break; case Statues.FingerCount: segments = new IGestureSegment[20]; for (int i = 0; i < 20; i++) { segments[i] = new FingerCount(); } break; default: break; } Gesture gesture = new Gesture(name.ToString(), segments); gesture.GestureDetected += OnGestureDetected; _gestures.Add(gesture); }
/// <summary> /// Helper function to register all available /// </summary> private void RegisterGestures() { // define the gestures for the demo IRelativeGestureSegment[] clearLeftSegments = new IRelativeGestureSegment[1]; ClearLeftSegment clearLeftSegment1 = new ClearLeftSegment(); clearLeftSegments[0] = clearLeftSegment1; m_gestureController.AddGesture("Clear", clearLeftSegments); IRelativeGestureSegment[] rightHandSelectSegments = new IRelativeGestureSegment[16]; RightHandSelectSegment rightHandSelectSegment = new RightHandSelectSegment(); for (int i = 0; i < 16; i++) { // gesture consists of the same thing 10 times rightHandSelectSegments[i] = rightHandSelectSegment; } m_gestureController.AddGesture("Select", rightHandSelectSegments); IRelativeGestureSegment[] moveForwardSegments = new IRelativeGestureSegment[3]; moveForwardSegments[0] = new MoveForwardSegment(); moveForwardSegments[1] = new MoveForwardSegment(); moveForwardSegments[2] = new MoveForwardSegment(); m_gestureController.AddGesture("MoveForward", moveForwardSegments); IRelativeGestureSegment[] moveBackwardSegments = new IRelativeGestureSegment[3]; moveBackwardSegments[0] = new MoveBackwardSegment(); moveBackwardSegments[1] = new MoveBackwardSegment(); moveBackwardSegments[2] = new MoveBackwardSegment(); m_gestureController.AddGesture("MoveBackward", moveBackwardSegments); //IRelativeGestureSegment[] joinedhandsSegments = new IRelativeGestureSegment[20]; //JoinedHandsSegment1 joinedhandsSegment = new JoinedHandsSegment1 (); //for (int i = 0; i < 20; i++) // { // // gesture consists of the same thing 10 times // joinedhandsSegments[i] = joinedhandsSegment; // } //m_gestureController.AddGesture ("JoinedHands", joinedhandsSegments); IRelativeGestureSegment[] turnLeftSegments = new IRelativeGestureSegment[10]; TurnLeftSegment turnLeftSegment = new TurnLeftSegment(); for (int i = 0; i < 10; i++) { // gesture consists of the same thing 20 times turnLeftSegments[i] = turnLeftSegment; } m_gestureController.AddGesture("TurnLeft", turnLeftSegments); IRelativeGestureSegment[] turnRightSegments = new IRelativeGestureSegment[10]; TurnRightSegment turnRightSegment = new TurnRightSegment(); for (int i = 0; i < 10; i++) { // gesture consists of the same thing 20 times turnRightSegments[i] = turnRightSegment; } m_gestureController.AddGesture("TurnRight", turnRightSegments); //IRelativeGestureSegment[] swipeleftSegments = new IRelativeGestureSegment[3]; //swipeleftSegments[0] = new SwipeLeftSegment1 (); //swipeleftSegments[1] = new SwipeLeftSegment2 (); //swipeleftSegments[2] = new SwipeLeftSegment3 (); //m_gestureController.AddGesture ("SwipeLeft", swipeleftSegments); //IRelativeGestureSegment[] swiperightSegments = new IRelativeGestureSegment[3]; //swiperightSegments[0] = new SwipeRightSegment1 (); //swiperightSegments[1] = new SwipeRightSegment2 (); //swiperightSegments[2] = new SwipeRightSegment3 (); //m_gestureController.AddGesture ("SwipeRight", swiperightSegments); IRelativeGestureSegment[] waveRightSegments = new IRelativeGestureSegment[4]; WaveRightSegment1 waveRightSegment1 = new WaveRightSegment1(); WaveRightSegment2 waveRightSegment2 = new WaveRightSegment2(); waveRightSegments[0] = waveRightSegment1; waveRightSegments[1] = waveRightSegment2; waveRightSegments[2] = waveRightSegment1; waveRightSegments[3] = waveRightSegment2; m_gestureController.AddGesture("WaveRight", waveRightSegments); //IRelativeGestureSegment[] waveLeftSegments = new IRelativeGestureSegment[6]; //WaveLeftSegment1 waveLeftSegment1 = new WaveLeftSegment1 (); //WaveLeftSegment2 waveLeftSegment2 = new WaveLeftSegment2 (); //waveLeftSegments[0] = waveLeftSegment1; //waveLeftSegments[1] = waveLeftSegment2; //waveLeftSegments[2] = waveLeftSegment1; //waveLeftSegments[3] = waveLeftSegment2; //waveLeftSegments[4] = waveLeftSegment1; //waveLeftSegments[5] = waveLeftSegment2; //m_gestureController.AddGesture ("WaveLeft", waveLeftSegments); //IRelativeGestureSegment[] zoomInSegments = new IRelativeGestureSegment[3]; //zoomInSegments[0] = new ZoomSegment1 (); //zoomInSegments[1] = new ZoomSegment2 (); //zoomInSegments[2] = new ZoomSegment3 (); //m_gestureController.AddGesture ("ZoomIn", zoomInSegments); //IRelativeGestureSegment[] zoomOutSegments = new IRelativeGestureSegment[3]; //zoomOutSegments[0] = new ZoomSegment3 (); //zoomOutSegments[1] = new ZoomSegment2 (); //zoomOutSegments[2] = new ZoomSegment1 (); //m_gestureController.AddGesture ("ZoomOut", zoomOutSegments); //IRelativeGestureSegment[] swipeUpSegments = new IRelativeGestureSegment[3]; //swipeUpSegments[0] = new SwipeUpSegment1 (); //swipeUpSegments[1] = new SwipeUpSegment2 (); //swipeUpSegments[2] = new SwipeUpSegment3 (); //m_gestureController.AddGesture ("SwipeUp", swipeUpSegments); //IRelativeGestureSegment[] swipeDownSegments = new IRelativeGestureSegment[3]; //swipeDownSegments[0] = new SwipeDownSegment1 (); //swipeDownSegments[1] = new SwipeDownSegment2 (); //swipeDownSegments[2] = new SwipeDownSegment3 (); //m_gestureController.AddGesture ("SwipeDown", swipeDownSegments); }