void OnTrainerButton()
 {
     m_workStage            = WorkingStage.Train;
     m_gestureManager.Pause = true;
     m_avCtrl.SetDebugLineActive(false);
     m_trainer.Init();
 }
    void OnMarkerButton()
    {
        m_workStage = WorkingStage.Mark;
        m_gestureManager.m_skReader.ResetSkeletonData();
        m_avCtrl.ReturnToInitRot();
//		m_avCtrl.Pause = true;
        m_gestureManager.Pause = true;
        m_avCtrl.SetDebugLineActive(false);
        m_marker.Init();
    }
 void OnRecorderButton()
 {
     m_workStage = WorkingStage.Record;
     m_gestureManager.m_skReader.ResetSkeletonData();
     m_gestureManager.Pause           = false;
     m_gestureManager.UseRealtimeData = true;
     m_avCtrl.SetDebugLineActive(true);
     m_observer.Reset();
     m_recorder.Init();
 }
 void OnPlayerButton()
 {
     m_workStage = WorkingStage.Play;
     m_gestureManager.m_skReader.ResetSkeletonData();
     m_avCtrl.ReturnToInitRot();
     m_gestureManager.Pause           = false; // still detecting gestures
     m_gestureManager.UseRealtimeData = false; // but do not use real time data
     m_avCtrl.SetDebugLineActive(false);
     m_player.Init();
     m_observer.Reset();
 }