Esempio n. 1
0
        /// <summary>
        /// Sets the state of the VSM depending on the state of the UI
        /// </summary>
        /// <param name="useTransitions">true to use a System.Windows.VisualTransition object to transition between states; otherwise, false.</param>
        private void ChangeVisualState(bool useTransitions)
        {
            string newStateName     = "KinectNormal";
            bool   showKinectCursor = true;

            if (!this.IsEnabled)
            {
                newStateName = "KinectDisabled";
            }
            else if (this.IsDragging)
            {
                newStateName     = "KinectPressed";
                showKinectCursor = false;
            }
            else if (KinectRegion.GetIsPrimaryHandPointerOver(this.gripEventTarget) || this.gripEventTarget.IsMouseOver)
            {
                newStateName = "HandPointerOver";
            }

            var kinectRegion = KinectRegion.GetKinectRegion(this);

            if (this.sliderParent != null && kinectRegion != null)
            {
                if (!showKinectCursor && !this.sliderParent.HideKinectCursorWhenDragging)
                {
                    showKinectCursor = true;
                }

                kinectRegion.IsCursorVisible = showKinectCursor;
            }

            VisualStateManager.GoToState(this, newStateName, useTransitions);
        }
Esempio n. 2
0
 private void OnHandPointerEnter(object sender, HandPointerEventArgs e)
 {
     if (KinectRegion.GetIsPrimaryHandPointerOver(btn_login))
     {
         VisualStateManager.GoToState(btn_login, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_register))
     {
         VisualStateManager.GoToState(btn_register, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_singlePlayer))
     {
         VisualStateManager.GoToState(btn_singlePlayer, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_multiPlayer))
     {
         VisualStateManager.GoToState(btn_multiPlayer, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_loadGame))
     {
         VisualStateManager.GoToState(btn_loadGame, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_highScores))
     {
         VisualStateManager.GoToState(btn_highScores, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_help))
     {
         VisualStateManager.GoToState(btn_help, "MouseOver", true);
         e.Handled = true;
     }
     else if (KinectRegion.GetIsPrimaryHandPointerOver(btn_exit))
     {
         VisualStateManager.GoToState(btn_exit, "MouseOver", true);
         e.Handled = true;
     }
 }
Esempio n. 3
0
        private void OnHandPointerLeave(object sender, HandPointerEventArgs e)
        {
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_login))
            {
                VisualStateManager.GoToState(btn_login, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_register))
            {
                VisualStateManager.GoToState(btn_register, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_singlePlayer))
            {
                VisualStateManager.GoToState(btn_singlePlayer, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_multiPlayer))
            {
                VisualStateManager.GoToState(btn_multiPlayer, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_loadGame))
            {
                VisualStateManager.GoToState(btn_loadGame, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_highScores))
            {
                VisualStateManager.GoToState(btn_highScores, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_help))
            {
                VisualStateManager.GoToState(btn_help, "Normal", true);
            }
            if (!KinectRegion.GetIsPrimaryHandPointerOver(btn_exit))
            {
                VisualStateManager.GoToState(btn_exit, "Normal", true);
            }

            if (capturedHandPointer == e.HandPointer)
            {
                capturedHandPointer = null;
                e.Handled           = true;
            }
        }