Esempio n. 1
0
        public DummyDevice(INintrollerState state)
        {
            _nextQueue   = new Queue <InputReport>();
            _reportQueue = new Queue <byte[]>();

            if (state is ProController)
            {
                DeviceType = ControllerType.ProController;
                ConfigureProController((ProController)state);
            }
            else if (state is Wiimote)
            {
                DeviceType = ControllerType.Wiimote;
                ConfigureWiimote((Wiimote)state);
            }
            else if (state is GameCubeAdapter)
            {
                DeviceType = ControllerType.Other;
                ConfigureGameCubeAdapter((GameCubeAdapter)state);
            }
            else
            {
                State = state;
            }
        }
Esempio n. 2
0
        public void SetCalibration(INintrollerState from)
        {
            if (from.CalibrationEmpty)
            {
                // don't apply empty calibrations
                return;
            }

            if (from.GetType() == typeof(Wiimote))
            {
                accelerometer.Calibrate(((Wiimote)from).accelerometer);
                irSensor.boundingArea = ((Wiimote)from).irSensor.boundingArea;
            }
            else if (from.GetType() == typeof(Nunchuk))
            {
                accelerometer.Calibrate(((Nunchuk)from).wiimote.accelerometer);
                irSensor.boundingArea = ((Nunchuk)from).wiimote.irSensor.boundingArea;
            }
            else if (from.GetType() == typeof(ClassicController))
            {
                accelerometer.Calibrate(((ClassicController)from).wiimote.accelerometer);
                irSensor.boundingArea = ((ClassicController)from).wiimote.irSensor.boundingArea;
            }
            else if (from.GetType() == typeof(ClassicControllerPro))
            {
                accelerometer.Calibrate(((ClassicControllerPro)from).wiimote.accelerometer);
                irSensor.boundingArea = ((ClassicControllerPro)from).wiimote.irSensor.boundingArea;
            }
        }
Esempio n. 3
0
        public void ApplyInput(INintrollerState state)
        {
            ProController?pro = state as ProController?;

            if (pro != null && pro.HasValue)
            {
                //pro.Value.GetValue
            }
        }
Esempio n. 4
0
        public void SetCalibration(INintrollerState from)
        {
            if (from.CalibrationEmpty)
            {
                // don't apply empty calibrations
                return;
            }

            if (from.GetType() == typeof(ProController))
            {
                LJoy.Calibrate(((ProController)from).LJoy);
                RJoy.Calibrate(((ProController)from).RJoy);
            }
        }
Esempio n. 5
0
        public void SetCalibration(INintrollerState from)
        {
            if (from.CalibrationEmpty)
            {
                // don't apply empty calibrations
                return;
            }

            if (from.GetType() == typeof(GameCubeAdapter))
            {
                port1.SetCalibration(((GameCubeAdapter)from).port1);
                port2.SetCalibration(((GameCubeAdapter)from).port2);
                port3.SetCalibration(((GameCubeAdapter)from).port3);
                port4.SetCalibration(((GameCubeAdapter)from).port4);
            }
        }
        public void SetCalibration(INintrollerState from)
        {
            if (from.CalibrationEmpty)
            {
                // don't apply empty calibrations
                return;
            }

            if (from.GetType() == typeof(ClassicControllerPro))
            {
                LJoy.Calibrate(((ClassicControllerPro)from).LJoy);
                RJoy.Calibrate(((ClassicControllerPro)from).RJoy);
            }
            else if (from.GetType() == typeof(Wiimote))
            {
                wiimote.SetCalibration(from);
            }
        }
Esempio n. 7
0
        public DummyDevice(INintrollerState state)
        {
            _nextQueue   = new Queue <InputReport>();
            _reportQueue = new Queue <byte[]>();
            State        = state;
            Type t = State.GetType();

            if (t == typeof(ProController))
            {
                DeviceType = ControllerType.ProController;
                var pState = (ProController)state;
                pState.LJoy.rawX = (short)pState.LJoy.centerX;
                pState.LJoy.rawY = (short)pState.LJoy.centerY;
                pState.RJoy.rawX = (short)pState.RJoy.centerX;
                pState.RJoy.rawY = (short)pState.RJoy.centerY;
                State            = pState;
            }
        }
Esempio n. 8
0
        public void SetCalibration(INintrollerState from)
        {
            if (from.CalibrationEmpty)
            {
                return;
            }

            if (from.GetType() == typeof(Guitar))
            {
                joystick.Calibrate(((Guitar)from).joystick);
                whammyBar.Calibrate(((Guitar)from).whammyBar);
                wiimote.SetCalibration(((Guitar)from).wiimote);
            }
            else if (from.GetType() == typeof(Wiimote))
            {
                wiimote.SetCalibration(from);
            }
        }
Esempio n. 9
0
        public void SetCalibration(INintrollerState from)
        {
            if (from.CalibrationEmpty)
            {
                // don't apply empty calibrations
                return;
            }

            if (from.GetType() == typeof(Nunchuk))
            {
                accelerometer.Calibrate(((Nunchuk)from).accelerometer);
                joystick.Calibrate(((Nunchuk)from).joystick);
                wiimote.SetCalibration(((Nunchuk)from).wiimote);
            }
            else if (from.GetType() == typeof(Wiimote))
            {
                wiimote.SetCalibration(from);
            }
        }
Esempio n. 10
0
        public void SetCalibration(INintrollerState from)
        {
            //if (from.CalibrationEmpty)
            //{
            //    // don't apply empty calibrations
            //    return;
            //}

            //if (from.GetType() == typeof(WiiGuitar))
            //{
            //    Joy.Calibrate(((WiiGuitar)from).Joy);
            //}
            //else if (from.GetType() == typeof(ClassicControllerPro))
            //{
            //    Joy.Calibrate(((ClassicControllerPro)from).LJoy);
            //}
            //else if (from.GetType() == typeof(Wiimote))
            //{
            //    wiimote.SetCalibration(from);
            //}
        }
        public void UpdateVisual(INintrollerState state)
        {
            if (state is ProController)
            {
                var pro = (ProController)state;
                _lastState = pro;

                aBtn.Opacity          = pro.A ? 1 : 0;
                bBtn.Opacity          = pro.B ? 1 : 0;
                xBtn.Opacity          = pro.X ? 1 : 0;
                yBtn.Opacity          = pro.Y ? 1 : 0;
                lBtn.Opacity          = pro.L ? 1 : 0;
                rBtn.Opacity          = pro.R ? 1 : 0;
                zlBtn.Opacity         = pro.ZL ? 1 : 0;
                zrBtn.Opacity         = pro.ZR ? 1 : 0;
                dpadUp.Opacity        = pro.Up ? 1 : 0;
                dpadDown.Opacity      = pro.Down ? 1 : 0;
                dpadLeft.Opacity      = pro.Left ? 1 : 0;
                dpadRight.Opacity     = pro.Right ? 1 : 0;
                dpadCenter.Opacity    = (pro.Up || pro.Down || pro.Left || pro.Right) ? 1 : 0;
                homeBtn.Opacity       = pro.Home ? 1 : 0;
                plusBtn.Opacity       = pro.Plus ? 1 : 0;
                minusBtn.Opacity      = pro.Minus ? 1 : 0;
                leftStickBtn.Opacity  = pro.LStick ? 1 : 0;
                rightStickBtn.Opacity = pro.RStick ? 1 : 0;

                leftStick.Margin     = new Thickness(196 + 50 * pro.LJoy.X, 232 - 50 * pro.LJoy.Y, 0, 0);
                leftStickBtn.Margin  = new Thickness(196 + 50 * pro.LJoy.X, 230 - 50 * pro.LJoy.Y, 0, 0);
                rightStick.Margin    = new Thickness(980 + 50 * pro.RJoy.X, 232 - 50 * pro.RJoy.Y, 0, 0);
                rightStickBtn.Margin = new Thickness(980 + 50 * pro.RJoy.X, 230 - 50 * pro.RJoy.Y, 0, 0);

                if (_openJoyWindow != null)
                {
                    _openJoyWindow.Update(_rightJoyOpen ? pro.RJoy : pro.LJoy);
                }
            }
        }
Esempio n. 12
0
        public void UpdateVisual(INintrollerState state)
        {
            if (state is ProController)
            {
                var pro = (ProController)state;
                _lastState = pro;

                Display(aBtn, pro.A);
                Display(bBtn, pro.B);
                Display(xBtn, pro.X);
                Display(yBtn, pro.Y);
                Display(lBtn, pro.L);
                Display(rBtn, pro.R);
                Display(zlBtn, pro.ZL);
                Display(zrBtn, pro.ZR);
                Display(dpadUp, pro.Up);
                Display(dpadDown, pro.Down);
                Display(dpadLeft, pro.Left);
                Display(dpadRight, pro.Right);
                Display(dpadCenter, (pro.Up || pro.Down || pro.Left || pro.Right));
                Display(homeBtn, pro.Home);
                Display(plusBtn, pro.Plus);
                Display(minusBtn, pro.Minus);
                Display(leftStickBtn, pro.LStick);
                Display(rightStickBtn, pro.RStick);

                leftStick.Margin     = new Thickness(196 + 50 * pro.LJoy.X, 232 - 50 * pro.LJoy.Y, 0, 0);
                leftStickBtn.Margin  = new Thickness(196 + 50 * pro.LJoy.X, 230 - 50 * pro.LJoy.Y, 0, 0);
                rightStick.Margin    = new Thickness(980 + 50 * pro.RJoy.X, 232 - 50 * pro.RJoy.Y, 0, 0);
                rightStickBtn.Margin = new Thickness(980 + 50 * pro.RJoy.X, 230 - 50 * pro.RJoy.Y, 0, 0);

                if (_openJoyWindow != null)
                {
                    _openJoyWindow.Update(_rightJoyOpen ? pro.RJoy : pro.LJoy);
                }
            }
        }
        public void UpdateVisual(INintrollerState state)
        {
            _lastState = state;
            if (state is Wiimote)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }
                if (viewGuitar.Visibility == Visibility.Visible)
                {
                    viewGuitar.Visibility = Visibility.Collapsed;
                }
                if (viewTaikoDrum.Visibility == Visibility.Visible)
                {
                    viewTaikoDrum.Visibility = Visibility.Collapsed;
                }

                UpdateWiimoteVisual((Wiimote)state);
            }
            else if (state is Nunchuk)
            {
                if (viewNunchuk.Visibility != Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Visible;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }
                if (viewGuitar.Visibility == Visibility.Visible)
                {
                    viewGuitar.Visibility = Visibility.Collapsed;
                }
                if (viewTaikoDrum.Visibility == Visibility.Visible)
                {
                    viewTaikoDrum.Visibility = Visibility.Collapsed;
                }

                var nun = (Nunchuk)state;
                UpdateWiimoteVisual(nun.wiimote);

                nBtnC.Opacity = nun.C ? 1 : 0;
                nBtnZ.Opacity = nun.Z ? 1 : 0;
                nJoy.Margin   = new Thickness(70 + 30 * nun.joystick.X, 360 - 30 * nun.joystick.Y, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget == App.CAL_NUN_JOYSTICK)
                {
                    _openJoyWindow.Update(nun.joystick);
                }
            }
            else if (state is ClassicController)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility != Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Visible;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }
                if (viewGuitar.Visibility == Visibility.Visible)
                {
                    viewGuitar.Visibility = Visibility.Collapsed;
                }
                if (viewTaikoDrum.Visibility == Visibility.Visible)
                {
                    viewTaikoDrum.Visibility = Visibility.Collapsed;
                }

                var cc = (ClassicController)state;
                UpdateWiimoteVisual(cc.wiimote);

                ccBtnA.Opacity      = cc.A ? 1 : 0;
                ccBtnB.Opacity      = cc.B ? 1 : 0;
                ccBtnX.Opacity      = cc.X ? 1 : 0;
                ccBtnY.Opacity      = cc.Y ? 1 : 0;
                ccBtnUp.Opacity     = cc.Up ? 1 : 0;
                ccBtnDown.Opacity   = cc.Down ? 1 : 0;
                ccBtnRight.Opacity  = cc.Right ? 1 : 0;
                ccBtnLeft.Opacity   = cc.Left ? 1 : 0;
                ccPadCenter.Opacity = cc.Up || cc.Down || cc.Left || cc.Right ? 1 : 0;
                ccBtnHome.Opacity   = cc.Home ? 1 : 0;
                ccBtnSelect.Opacity = cc.Select ? 1 : 0;
                ccBtnStart.Opacity  = cc.Start ? 1 : 0;
                ccBtnZL.Opacity     = cc.ZL ? 1 : 0;
                ccBtnZR.Opacity     = cc.ZR ? 1 : 0;
                ccL.Opacity         = cc.L.value > 0 ? 1 : 0;
                ccR.Opacity         = cc.R.value > 0 ? 1 : 0;
                ccLeftStick.Margin  = new Thickness(208 + 30 * cc.LJoy.X, 210 - 30 * cc.LJoy.Y, 0, 0);
                ccRightStick.Margin = new Thickness(364 + 30 * cc.RJoy.X, 210 - 30 * cc.RJoy.Y, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget.StartsWith("cc"))
                {
                    if (_calibrationTarget == App.CAL_CC_LJOYSTICK)
                    {
                        _openJoyWindow.Update(cc.LJoy);
                    }
                    else if (_calibrationTarget == App.CAL_CC_RJOYSTICK)
                    {
                        _openJoyWindow.Update(cc.RJoy);
                    }
                }
                else if (_openTrigWindow != null && _calibrationTarget.StartsWith("cc"))
                {
                    if (_calibrationTarget == "ccLT")
                    {
                        _openTrigWindow.Update(cc.L);
                    }
                    else if (_calibrationTarget == "ccRT")
                    {
                        _openTrigWindow.Update(cc.R);
                    }
                }
            }
            else if (state is ClassicControllerPro)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility != Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Visible;
                }
                if (viewGuitar.Visibility == Visibility.Visible)
                {
                    viewGuitar.Visibility = Visibility.Collapsed;
                }
                if (viewTaikoDrum.Visibility == Visibility.Visible)
                {
                    viewTaikoDrum.Visibility = Visibility.Collapsed;
                }

                var ccp = (ClassicControllerPro)state;
                UpdateWiimoteVisual(ccp.wiimote);

                ccpBtnA.Opacity      = ccp.A ? 1 : 0;
                ccpBtnB.Opacity      = ccp.B ? 1 : 0;
                ccpBtnX.Opacity      = ccp.X ? 1 : 0;
                ccpBtnY.Opacity      = ccp.Y ? 1 : 0;
                ccpBtnUp.Opacity     = ccp.Up ? 1 : 0;
                ccpBtnDown.Opacity   = ccp.Down ? 1 : 0;
                ccpBtnRight.Opacity  = ccp.Right ? 1 : 0;
                ccpBtnLeft.Opacity   = ccp.Left ? 1 : 0;
                ccpPadCenter.Opacity = ccp.Up || ccp.Down || ccp.Left || ccp.Right ? 1 : 0;
                ccpBtnHome.Opacity   = ccp.Home ? 1 : 0;
                ccpBtnSelect.Opacity = ccp.Select ? 1 : 0;
                ccpBtnStart.Opacity  = ccp.Start ? 1 : 0;
                ccpBtnZL.Opacity     = ccp.ZL ? 1 : 0;
                ccpBtnZR.Opacity     = ccp.ZR ? 1 : 0;
                ccpBtnL.Opacity      = ccp.L ? 1 : 0;
                ccpBtnR.Opacity      = ccp.R ? 1 : 0;
                ccpLeftStick.Margin  = new Thickness(255 + 30 * ccp.LJoy.X, 279 - 30 * ccp.LJoy.Y, 0, 0);
                ccpRightStick.Margin = new Thickness(485 + 30 * ccp.RJoy.X, 279 - 30 * ccp.RJoy.Y, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget.StartsWith("ccp"))
                {
                    if (_calibrationTarget == App.CAL_CCP_LJOYSTICK)
                    {
                        _openJoyWindow.Update(ccp.LJoy);
                    }
                    else if (_calibrationTarget == App.CAL_CCP_RJOYSTICK)
                    {
                        _openJoyWindow.Update(ccp.RJoy);
                    }
                }
            }
            else if (state is Guitar)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }
                if (viewGuitar.Visibility != Visibility.Visible)
                {
                    viewGuitar.Visibility = Visibility.Visible;
                }
                if (viewTaikoDrum.Visibility == Visibility.Visible)
                {
                    viewTaikoDrum.Visibility = Visibility.Collapsed;
                }

                var gut = (Guitar)state;
                UpdateWiimoteVisual(gut.wiimote);

                gBtnGreen.Opacity     = gut.Green ? 1 : 0;
                gBtnRed.Opacity       = gut.Red ? 1 : 0;
                gBtnYellow.Opacity    = gut.Yellow ? 1 : 0;
                gBtnBlue.Opacity      = gut.Blue ? 1 : 0;
                gBtnOrange.Opacity    = gut.Orange ? 1 : 0;
                gBtnStrumUp.Opacity   = gut.StrumUp ? 1 : 0;
                gBtnStrumDown.Opacity = gut.StrumDown ? 1 : 0;
                gBtnPlus.Opacity      = gut.Plus ? 1 : 0;
                gBtnMinus.Opacity     = gut.Minus ? 1 : 0;
                gTouch1.Opacity       = gut.T1 ? 1 : 0;
                gTouch2.Opacity       = gut.T2 ? 1 : 0;
                gTouch3.Opacity       = gut.T3 ? 1 : 0;
                gTouch4.Opacity       = gut.T4 ? 1 : 0;
                gTouch5.Opacity       = gut.T5 ? 1 : 0;
                gStick.Margin         = new Thickness(1236 + 30 * gut.joystick.X, 283 - 30 * gut.joystick.Y, 0, 0);
                gStick.Margin         = new Thickness(1236 + 30 * gut.joystick.X, 283 - 30 * gut.joystick.Y, 0, 0);
                gWhammy.Margin        = new Thickness(345 + 60 * gut.whammyBar.value, 815 - 20 * gut.whammyBar.value, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget == App.CAL_GUT_JOYSTICK)
                {
                    _openJoyWindow.Update(gut.joystick);
                }
                else if (_openTrigWindow != null && _calibrationTarget == App.CAL_GUT_WHAMMY)
                {
                    _openTrigWindow.Update(gut.whammyBar);
                }
            }
            else if (state is TaikoDrum)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }
                if (viewGuitar.Visibility == Visibility.Visible)
                {
                    viewGuitar.Visibility = Visibility.Collapsed;
                }
                if (viewTaikoDrum.Visibility != Visibility.Visible)
                {
                    viewTaikoDrum.Visibility = Visibility.Visible;
                }

                var tak = (TaikoDrum)state;
                UpdateWiimoteVisual(tak.wiimote);

                takL.Fill      = tak.centerLeft ? System.Windows.Media.Brushes.Red : System.Windows.Media.Brushes.White;
                takR.Fill      = tak.centerRight ? System.Windows.Media.Brushes.Red : System.Windows.Media.Brushes.White;
                takRimL.Stroke = tak.rimLeft ? System.Windows.Media.Brushes.Blue : System.Windows.Media.Brushes.White;
                takRimR.Stroke = tak.rimRight ? System.Windows.Media.Brushes.Blue : System.Windows.Media.Brushes.White;
            }
        }
Esempio n. 14
0
 public void SetCalibration(INintrollerState from)
 {
     // no calibration needed
 }
Esempio n. 15
0
        public void UpdateVisual(INintrollerState state)
        {
            if (state is GameCubeAdapter gcn)
            {
                _lastState = gcn;
                GameCubeController activePort;

                bool connecited = GetActivePort(out activePort);

                A.Opacity     = activePort.A ? 1 : 0;
                B.Opacity     = activePort.B ? 1 : 0;
                X.Opacity     = activePort.X ? 1 : 0;
                Y.Opacity     = activePort.Y ? 1 : 0;
                Z.Opacity     = activePort.Z ? 1 : 0;
                START.Opacity = activePort.Start ? 1 : 0;

                dpadUp.Opacity    = activePort.Up ? 1 : 0;
                dpadDown.Opacity  = activePort.Down ? 1 : 0;
                dpadLeft.Opacity  = activePort.Left ? 1 : 0;
                dpadRight.Opacity = activePort.Right ? 1 : 0;

                L.Opacity = activePort.L.value > 0 ? 1 : 0;
                R.Opacity = activePort.R.value > 0 ? 1 : 0;

                var lOpacityMask = L.OpacityMask as LinearGradientBrush;
                if (lOpacityMask != null && lOpacityMask.GradientStops.Count == 2)
                {
                    double offset = 1 - System.Math.Min(1, activePort.L.value);
                    lOpacityMask.GradientStops[0].Offset = offset;
                    lOpacityMask.GradientStops[1].Offset = offset;
                }

                var rOpacityMask = R.OpacityMask as LinearGradientBrush;
                if (rOpacityMask != null && rOpacityMask.GradientStops.Count == 2)
                {
                    double offset = 1 - System.Math.Min(1, activePort.R.value);
                    rOpacityMask.GradientStops[0].Offset = offset;
                    rOpacityMask.GradientStops[1].Offset = offset;
                }

                joystick.Margin = new Thickness(190 + 100 * activePort.joystick.X, 272 - 100 * activePort.joystick.Y, 0, 0);
                cStick.Margin   = new Thickness(887 + 100 * activePort.cStick.X, 618 - 100 * activePort.cStick.Y, 0, 0);

                connectionStatus.Content = connecited ? _connectedStatus : _disconnectedStatus;

                if (_openJoyWindow != null)
                {
                    if (_calibrationTarget == "joy")
                    {
                        _openJoyWindow.Update(activePort.joystick);
                    }
                    else if (_calibrationTarget == "cStk")
                    {
                        _openJoyWindow.Update(activePort.cStick);
                    }
                }
                else if (_openTrigWindow != null)
                {
                    if (_calibrationTarget == "L")
                    {
                        _openTrigWindow.Update(activePort.L);
                    }
                    else if (_calibrationTarget == "R")
                    {
                        _openTrigWindow.Update(activePort.R);
                    }
                }
            }
        }
Esempio n. 16
0
 public void ApplyInput(INintrollerState state)
 {
     // Maybe one day I will remember what this was for or just remove it
 }
Esempio n. 17
0
 public void SetCalibration(INintrollerState from)
 {
     if (from.GetType() == typeof(BalanceBoard))
     {
     }
 }
Esempio n. 18
0
 public void SetCalibration(INintrollerState from)
 {
     if (from.GetType() == typeof(WiimotePlus))
     {
     }
 }
Esempio n. 19
0
        public void UpdateVisual(INintrollerState state)
        {
            _lastState = state;
            if (state is Wiimote)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }

                UpdateWiimoteVisual((Wiimote)state);
            }
            else if (state is Nunchuk)
            {
                if (viewNunchuk.Visibility != Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Visible;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }

                var nun = (Nunchuk)state;
                UpdateWiimoteVisual(nun.wiimote);

                nBtnC.Opacity = nun.C ? 1 : 0;
                nBtnZ.Opacity = nun.Z ? 1 : 0;
                nJoy.Margin   = new Thickness(70 + 30 * nun.joystick.X, 360 - 30 * nun.joystick.Y, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget == App.CAL_NUN_JOYSTICK)
                {
                    _openJoyWindow.Update(nun.joystick);
                }
            }
            else if (state is ClassicController)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility != Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Visible;
                }
                if (viewClassicControllerPro.Visibility == Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Collapsed;
                }

                var cc = (ClassicController)state;
                UpdateWiimoteVisual(cc.wiimote);

                ccBtnA.Opacity      = cc.A ? 1 : 0;
                ccBtnB.Opacity      = cc.B ? 1 : 0;
                ccBtnX.Opacity      = cc.X ? 1 : 0;
                ccBtnY.Opacity      = cc.Y ? 1 : 0;
                ccBtnUp.Opacity     = cc.Up ? 1 : 0;
                ccBtnDown.Opacity   = cc.Down ? 1 : 0;
                ccBtnRight.Opacity  = cc.Right ? 1 : 0;
                ccBtnLeft.Opacity   = cc.Left ? 1 : 0;
                ccPadCenter.Opacity = cc.Up || cc.Down || cc.Left || cc.Right ? 1 : 0;
                ccBtnHome.Opacity   = cc.Home ? 1 : 0;
                ccBtnSelect.Opacity = cc.Select ? 1 : 0;
                ccBtnStart.Opacity  = cc.Start ? 1 : 0;
                ccBtnZL.Opacity     = cc.ZL ? 1 : 0;
                ccBtnZR.Opacity     = cc.ZR ? 1 : 0;
                ccL.Opacity         = cc.L.value > 0 ? 1 : 0;
                ccR.Opacity         = cc.R.value > 0 ? 1 : 0;
                ccLeftStick.Margin  = new Thickness(208 + 30 * cc.LJoy.X, 210 - 30 * cc.LJoy.Y, 0, 0);
                ccRightStick.Margin = new Thickness(364 + 30 * cc.RJoy.X, 210 - 30 * cc.RJoy.Y, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget.StartsWith("cc"))
                {
                    if (_calibrationTarget == App.CAL_CC_LJOYSTICK)
                    {
                        _openJoyWindow.Update(cc.LJoy);
                    }
                    else if (_calibrationTarget == App.CAL_CC_RJOYSTICK)
                    {
                        _openJoyWindow.Update(cc.RJoy);
                    }
                }
                else if (_openTrigWindow != null && _calibrationTarget.StartsWith("cc"))
                {
                    if (_calibrationTarget == "ccLT")
                    {
                        _openTrigWindow.Update(cc.L);
                    }
                    else if (_calibrationTarget == "ccRT")
                    {
                        _openTrigWindow.Update(cc.R);
                    }
                }
            }
            else if (state is ClassicControllerPro)
            {
                if (viewNunchuk.Visibility == Visibility.Visible)
                {
                    viewNunchuk.Visibility = Visibility.Collapsed;
                }
                if (viewClassicController.Visibility == Visibility.Visible)
                {
                    viewClassicController.Visibility = Visibility.Collapsed;
                }
                if (viewClassicControllerPro.Visibility != Visibility.Visible)
                {
                    viewClassicControllerPro.Visibility = Visibility.Visible;
                }

                var ccp = (ClassicControllerPro)state;
                UpdateWiimoteVisual(ccp.wiimote);

                ccpBtnA.Opacity      = ccp.A ? 1 : 0;
                ccpBtnB.Opacity      = ccp.B ? 1 : 0;
                ccpBtnX.Opacity      = ccp.X ? 1 : 0;
                ccpBtnY.Opacity      = ccp.Y ? 1 : 0;
                ccpBtnUp.Opacity     = ccp.Up ? 1 : 0;
                ccpBtnDown.Opacity   = ccp.Down ? 1 : 0;
                ccpBtnRight.Opacity  = ccp.Right ? 1 : 0;
                ccpBtnLeft.Opacity   = ccp.Left ? 1 : 0;
                ccpPadCenter.Opacity = ccp.Up || ccp.Down || ccp.Left || ccp.Right ? 1 : 0;
                ccpBtnHome.Opacity   = ccp.Home ? 1 : 0;
                ccpBtnSelect.Opacity = ccp.Select ? 1 : 0;
                ccpBtnStart.Opacity  = ccp.Start ? 1 : 0;
                ccpBtnZL.Opacity     = ccp.ZL ? 1 : 0;
                ccpBtnZR.Opacity     = ccp.ZR ? 1 : 0;
                ccpBtnL.Opacity      = ccp.L ? 1 : 0;
                ccpBtnR.Opacity      = ccp.R ? 1 : 0;
                ccpLeftStick.Margin  = new Thickness(255 + 30 * ccp.LJoy.X, 279 - 30 * ccp.LJoy.Y, 0, 0);
                ccpRightStick.Margin = new Thickness(485 + 30 * ccp.RJoy.X, 279 - 30 * ccp.RJoy.Y, 0, 0);

                if (_openJoyWindow != null && _calibrationTarget.StartsWith("ccp"))
                {
                    if (_calibrationTarget == App.CAL_CCP_LJOYSTICK)
                    {
                        _openJoyWindow.Update(ccp.LJoy);
                    }
                    else if (_calibrationTarget == App.CAL_CCP_RJOYSTICK)
                    {
                        _openJoyWindow.Update(ccp.RJoy);
                    }
                }
            }
        }
Esempio n. 20
0
 public void ApplyInput(INintrollerState state)
 {
     // Do something
 }