Ejemplo n.º 1
0
        private void ChangeProAnalog(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            if (isPro)
            {
                ProController pro   = (ProController)Device.State;
                float         value = (float)Math.Round(e.NewValue, 2);

                switch ((sender as FrameworkElement).Tag.ToString())
                {
                case "LX":
                    pro.LJoy.X    = value;
                    pro.LJoy.rawX = CalculateRaw(pro.LJoy.minX, pro.LJoy.maxX, value);
                    break;

                case "LY":
                    pro.LJoy.Y    = value;
                    pro.LJoy.rawY = CalculateRaw(pro.LJoy.minY, pro.LJoy.maxY, value);
                    break;

                case "RX":
                    pro.RJoy.X    = value;
                    pro.RJoy.rawX = CalculateRaw(pro.RJoy.minX, pro.RJoy.maxX, value);
                    break;

                case "RY":
                    pro.RJoy.Y    = value;
                    pro.RJoy.rawY = CalculateRaw(pro.RJoy.minY, pro.RJoy.maxY, value);
                    break;
                }

                Device.State = pro;
            }
        }
Ejemplo n.º 2
0
        private ProController ChangeProAnalog(string property, float value)
        {
            ProController pro = (ProController)Device.State;

            switch (property)
            {
            case INPUT_NAMES.PRO_CONTROLLER.LX:
                pro.LJoy.X    = value;
                pro.LJoy.rawX = CalculateRaw(pro.LJoy.minX, pro.LJoy.maxX, value);
                break;

            case INPUT_NAMES.PRO_CONTROLLER.LY:
                pro.LJoy.Y    = value;
                pro.LJoy.rawY = CalculateRaw(pro.LJoy.minY, pro.LJoy.maxY, value);
                break;

            case INPUT_NAMES.PRO_CONTROLLER.RX:
                pro.RJoy.X    = value;
                pro.RJoy.rawX = CalculateRaw(pro.RJoy.minX, pro.RJoy.maxX, value);
                break;

            case INPUT_NAMES.PRO_CONTROLLER.RY:
                pro.RJoy.Y    = value;
                pro.RJoy.rawY = CalculateRaw(pro.RJoy.minY, pro.RJoy.maxY, value);
                break;
            }

            return(pro);
        }
Ejemplo n.º 3
0
        private void btnAddPro_Click(object sender, EventArgs e)
        {
            Project pro = new Project();

            pro.procode     = this.txtProCode.Text.Trim();
            pro.proname     = this.txtProName.Text.Trim();
            pro.description = this.rtDescription.Text.Trim();
            pro.fromdate    = this.dtpFromDate.Value;
            pro.todate      = this.dtpToDate.Value;


            if (listPro.Where(x => x.procode == pro.procode).Count() > 0)
            {
                MessageBox.Show("ProCode đã tồn tại", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            listPro.Add(pro);
            ProController.AddPro(pro);
            BindingSource source = new BindingSource();

            source.DataSource       = ProController.getlistPros();
            this.dataPro.DataSource = source;

            this.txtProCode.Clear();
            this.txtProName.Clear();
            this.rtDescription.Clear();
            this.dtpFromDate.Value = DateTime.Now;
            this.dtpToDate.Value   = DateTime.Now;

            /*if (ProController.AddPro(pro) == false)
             * {
             *  MessageBox.Show("Lỗi thêm project");
             *  return;
             * }*/
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Default constructor setting all calibrations to their defaults.
 /// </summary>
 public CalibrationStorage()
 {
     ProCalibration        = Calibrations.Defaults.ProControllerDefault;
     WiimoteCalibration    = Calibrations.Defaults.WiimoteDefault;
     NunchukCalibration    = Calibrations.Defaults.NunchukDefault;
     ClassicCalibration    = Calibrations.Defaults.ClassicControllerDefault;
     ClassicProCalibration = Calibrations.Defaults.ClassicControllerProDefault;
 }
Ejemplo n.º 5
0
 public void ConfigureProController(ProController pState)
 {
     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;
 }
Ejemplo n.º 6
0
        private void btnDeletePro_Click(object sender, EventArgs e)
        {
            Project pro = ProController.getPro(this.dataPro.SelectedRows[0].Cells[0].Value.ToString());

            ProController.DeletePro(pro);
            BindingSource source = new BindingSource();

            source.DataSource  = ProController.getlistPros();
            dataPro.DataSource = source;
        }
Ejemplo n.º 7
0
        private void dataPro_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            Project pro = new Project();

            try
            {
                pro.procode = this.dataPro.CurrentRow.Cells[0].Value.ToString();
            }
            catch
            {
                MessageBox.Show("Phải nhập Procode");
                dataPro.CurrentRow.Cells[0].Value = "";
                dataPro.Rows.RemoveAt(dataPro.Rows.Count - 2);
                return;
            }
            if (pro.procode.Length <= 0)
            {
                return;
            }
            if (this.dataPro.CurrentRow.Cells[1].Value is null)
            {
                this.dataPro.CurrentRow.Cells[1].Value = "";
            }
            pro.proname = this.dataPro.CurrentRow.Cells[1].Value.ToString();
            if (this.dataPro.CurrentRow.Cells[2].Value is null)
            {
                this.dataPro.CurrentRow.Cells[2].Value = "";
            }
            pro.description = this.dataPro.CurrentRow.Cells[2].Value.ToString();
            if (this.dataPro.CurrentRow.Cells[3].Value is null)
            {
                this.dataPro.CurrentRow.Cells[3].Value = "1/1/1989";
            }
            pro.fromdate = DateTime.Parse(this.dataPro.CurrentRow.Cells[3].Value.ToString()).Date;
            if (this.dataPro.CurrentRow.Cells[4].Value is null)
            {
                this.dataPro.CurrentRow.Cells[4].Value = "1/1/1989";
            }
            pro.todate = DateTime.Parse(this.dataPro.CurrentRow.Cells[4].Value.ToString()).Date;

            //update to database
            ProController.UpdatePro(pro);
            BindingSource source = new BindingSource();

            source.DataSource = ProController.getlistPros();
            //dataUsers.DataSource = source;
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Default constructor setting all calibrations to their defaults.
        /// </summary>
        public CalibrationStorage()
        {
            ProCalibration        = Calibrations.Defaults.ProControllerDefault;
            WiimoteCalibration    = Calibrations.Defaults.WiimoteDefault;
            NunchukCalibration    = Calibrations.Defaults.NunchukDefault;
            ClassicCalibration    = Calibrations.Defaults.ClassicControllerDefault;
            ClassicProCalibration = Calibrations.Defaults.ClassicControllerProDefault;
            GuitarCalibration     = Calibrations.Defaults.GuitarDefault;

            GameCubeAdapterCalibration = new GameCubeAdapter(true)
            {
                port1 = Calibrations.Defaults.GameCubeControllerDefault,
                port2 = Calibrations.Defaults.GameCubeControllerDefault,
                port3 = Calibrations.Defaults.GameCubeControllerDefault,
                port4 = Calibrations.Defaults.GameCubeControllerDefault,
            };
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Sets calibrations based on a preset.
        /// </summary>
        /// <param name="preset"></param>
        public void SetCalibrations(Calibrations.CalibrationPreset preset)
        {
            switch (preset)
            {
            case Calibrations.CalibrationPreset.Default:
                ProCalibration        = Calibrations.Defaults.ProControllerDefault;
                WiimoteCalibration    = Calibrations.Defaults.WiimoteDefault;
                NunchukCalibration    = Calibrations.Defaults.NunchukDefault;
                ClassicCalibration    = Calibrations.Defaults.ClassicControllerDefault;
                ClassicProCalibration = Calibrations.Defaults.ClassicControllerProDefault;
                break;

            case Calibrations.CalibrationPreset.Modest:
                ProCalibration        = Calibrations.Moderate.ProControllerModest;
                WiimoteCalibration    = Calibrations.Moderate.WiimoteModest;
                NunchukCalibration    = Calibrations.Moderate.NunchukModest;
                ClassicCalibration    = Calibrations.Moderate.ClassicControllerModest;
                ClassicProCalibration = Calibrations.Moderate.ClassicControllerProModest;
                break;

            case Calibrations.CalibrationPreset.Extra:
                ProCalibration        = Calibrations.Extras.ProControllerExtra;
                WiimoteCalibration    = Calibrations.Extras.WiimoteExtra;
                NunchukCalibration    = Calibrations.Extras.NunchukExtra;
                ClassicCalibration    = Calibrations.Extras.ClassicControllerExtra;
                ClassicProCalibration = Calibrations.Extras.ClassicControllerProExtra;
                break;

            case Calibrations.CalibrationPreset.Minimum:
                ProCalibration        = Calibrations.Minimum.ProControllerMinimal;
                WiimoteCalibration    = Calibrations.Minimum.WiimoteMinimal;
                NunchukCalibration    = Calibrations.Minimum.NunchukMinimal;
                ClassicCalibration    = Calibrations.Minimum.ClassicControllerMinimal;
                ClassicProCalibration = Calibrations.Minimum.ClassicControllerProMinimal;
                break;

            case Calibrations.CalibrationPreset.None:
                ProCalibration        = Calibrations.None.ProControllerRaw;
                WiimoteCalibration    = Calibrations.None.WiimoteRaw;
                NunchukCalibration    = Calibrations.None.NunchukRaw;
                ClassicCalibration    = Calibrations.None.ClassicControllerRaw;
                ClassicProCalibration = Calibrations.None.ClassicControllerProRaw;
                break;
            }
        }
Ejemplo n.º 10
0
        private void txtSearchPro_TextChanged(object sender, EventArgs e)
        {
            this.lstSearchPro.Items.Clear();
            List <Project> searchPros = ProController.getListPros(this.txtSearchPro.Text.Trim());

            if (searchPros.Count > 0)
            {
                this.lstSearchPro.Visible = true;
            }
            else
            {
                this.lstSearchPro.Visible = false;
            }
            for (int i = 0; i < searchPros.Count; i++)
            {
                this.lstSearchPro.Items.Add(searchPros[i]);
            }
        }
Ejemplo n.º 11
0
        public FrmProject(ref List <Project> projects)
        {
            InitializeComponent();

            this.listPro = projects;
            this.cProCode.DataPropertyName     = nameof(Project.procode);
            this.cProName.DataPropertyName     = nameof(Project.proname);
            this.cDescription.DataPropertyName = nameof(Project.description);
            this.cFromDate.DataPropertyName    = nameof(Project.fromdate);
            this.cToDate.DataPropertyName      = nameof(Project.todate);
            this.cWorks.DataPropertyName       = nameof(Project.Works);
            this.cListOfWorks.DataPropertyName = nameof(Project.ListOfWorks);

            BindingSource source = new BindingSource();

            source.DataSource       = ProController.getlistPros();
            this.dataPro.DataSource = source;
        }
Ejemplo n.º 12
0
        private ProController ChangeProBoolean(string property)
        {
            ProController pro = (ProController)Device.State;

            switch (property)
            {
            case INPUT_NAMES.PRO_CONTROLLER.A: pro.A = !pro.A; break;

            case INPUT_NAMES.PRO_CONTROLLER.B: pro.B = !pro.B; break;

            case INPUT_NAMES.PRO_CONTROLLER.X: pro.X = !pro.X; break;

            case INPUT_NAMES.PRO_CONTROLLER.Y: pro.Y = !pro.Y; break;

            case INPUT_NAMES.PRO_CONTROLLER.L: pro.L = !pro.L; break;

            case INPUT_NAMES.PRO_CONTROLLER.R: pro.R = !pro.R; break;

            case INPUT_NAMES.PRO_CONTROLLER.ZL: pro.ZL = !pro.ZL; break;

            case INPUT_NAMES.PRO_CONTROLLER.ZR: pro.ZR = !pro.ZR; break;

            case INPUT_NAMES.PRO_CONTROLLER.UP: pro.Up = !pro.Up; break;

            case INPUT_NAMES.PRO_CONTROLLER.DOWN: pro.Down = !pro.Down; break;

            case INPUT_NAMES.PRO_CONTROLLER.LEFT: pro.Left = !pro.Left; break;

            case INPUT_NAMES.PRO_CONTROLLER.RIGHT: pro.Right = !pro.Right; break;

            case INPUT_NAMES.PRO_CONTROLLER.START: pro.Start = !pro.Start; break;

            case INPUT_NAMES.PRO_CONTROLLER.SELECT: pro.Select = !pro.Select; break;

            case INPUT_NAMES.PRO_CONTROLLER.HOME: pro.Home = !pro.Home; break;

            case INPUT_NAMES.PRO_CONTROLLER.LS: pro.LStick = !pro.LStick; break;

            case INPUT_NAMES.PRO_CONTROLLER.RS: pro.RStick = !pro.RStick; break;
            }

            return(pro);
        }
Ejemplo n.º 13
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);
                }
            }
        }
Ejemplo n.º 14
0
        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);
                }
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Sets calibrations based on a preset.
        /// </summary>
        /// <param name="preset"></param>
        public void SetCalibrations(Calibrations.CalibrationPreset preset)
        {
            switch (preset)
            {
            case Calibrations.CalibrationPreset.Default:
                ProCalibration             = Calibrations.Defaults.ProControllerDefault;
                WiimoteCalibration         = Calibrations.Defaults.WiimoteDefault;
                NunchukCalibration         = Calibrations.Defaults.NunchukDefault;
                ClassicCalibration         = Calibrations.Defaults.ClassicControllerDefault;
                ClassicProCalibration      = Calibrations.Defaults.ClassicControllerProDefault;
                GuitarCalibration          = Calibrations.Defaults.GuitarDefault;
                GameCubeAdapterCalibration = new GameCubeAdapter(true)
                {
                    port1 = Calibrations.Defaults.GameCubeControllerDefault,
                    port2 = Calibrations.Defaults.GameCubeControllerDefault,
                    port3 = Calibrations.Defaults.GameCubeControllerDefault,
                    port4 = Calibrations.Defaults.GameCubeControllerDefault,
                };
                break;

            case Calibrations.CalibrationPreset.Modest:
                ProCalibration             = Calibrations.Moderate.ProControllerModest;
                WiimoteCalibration         = Calibrations.Moderate.WiimoteModest;
                NunchukCalibration         = Calibrations.Moderate.NunchukModest;
                ClassicCalibration         = Calibrations.Moderate.ClassicControllerModest;
                ClassicProCalibration      = Calibrations.Moderate.ClassicControllerProModest;
                GuitarCalibration          = Calibrations.Moderate.GuitarModest;
                GameCubeAdapterCalibration = new GameCubeAdapter(true)
                {
                    port1 = Calibrations.Moderate.GameCubeControllerModest,
                    port2 = Calibrations.Moderate.GameCubeControllerModest,
                    port3 = Calibrations.Moderate.GameCubeControllerModest,
                    port4 = Calibrations.Moderate.GameCubeControllerModest,
                };
                break;

            case Calibrations.CalibrationPreset.Extra:
                ProCalibration             = Calibrations.Extras.ProControllerExtra;
                WiimoteCalibration         = Calibrations.Extras.WiimoteExtra;
                NunchukCalibration         = Calibrations.Extras.NunchukExtra;
                ClassicCalibration         = Calibrations.Extras.ClassicControllerExtra;
                ClassicProCalibration      = Calibrations.Extras.ClassicControllerProExtra;
                GuitarCalibration          = Calibrations.Extras.GuitarExtra;
                GameCubeAdapterCalibration = new GameCubeAdapter(true)
                {
                    port1 = Calibrations.Extras.GameCubeControllerExtra,
                    port2 = Calibrations.Extras.GameCubeControllerExtra,
                    port3 = Calibrations.Extras.GameCubeControllerExtra,
                    port4 = Calibrations.Extras.GameCubeControllerExtra,
                };
                break;

            case Calibrations.CalibrationPreset.Minimum:
                ProCalibration             = Calibrations.Minimum.ProControllerMinimal;
                WiimoteCalibration         = Calibrations.Minimum.WiimoteMinimal;
                NunchukCalibration         = Calibrations.Minimum.NunchukMinimal;
                ClassicCalibration         = Calibrations.Minimum.ClassicControllerMinimal;
                ClassicProCalibration      = Calibrations.Minimum.ClassicControllerProMinimal;
                GuitarCalibration          = Calibrations.Minimum.GuitarMinimal;
                GameCubeAdapterCalibration = new GameCubeAdapter(true)
                {
                    port1 = Calibrations.Minimum.GameCubeControllerMinimal,
                    port2 = Calibrations.Minimum.GameCubeControllerMinimal,
                    port3 = Calibrations.Minimum.GameCubeControllerMinimal,
                    port4 = Calibrations.Minimum.GameCubeControllerMinimal,
                };
                break;

            case Calibrations.CalibrationPreset.None:
                ProCalibration             = Calibrations.None.ProControllerRaw;
                WiimoteCalibration         = Calibrations.None.WiimoteRaw;
                NunchukCalibration         = Calibrations.None.NunchukRaw;
                ClassicCalibration         = Calibrations.None.ClassicControllerRaw;
                ClassicProCalibration      = Calibrations.None.ClassicControllerProRaw;
                GuitarCalibration          = Calibrations.None.GuitarRaw;
                GameCubeAdapterCalibration = new GameCubeAdapter(true)
                {
                    port1 = Calibrations.None.GameCubeControllerRaw,
                    port2 = Calibrations.None.GameCubeControllerRaw,
                    port3 = Calibrations.None.GameCubeControllerRaw,
                    port4 = Calibrations.None.GameCubeControllerRaw,
                };
                break;
            }
        }
Ejemplo n.º 16
0
        private void StateUpdate(object sender, NintrollerStateEventArgs e)
        {
            Dispatcher.Invoke(() =>
            {
                try
                {
                    switch (e.controllerType)
                    {
                    case ControllerType.ProController:
                        #region Pro Controller Display
                        ProController pro = new ProController();
                        pro = (ProController)e.state;

                        if (_stackDigitalInputs.Children.Count < 17)
                        {
                            return;
                        }
                        ((CheckBox)_stackDigitalInputs.Children[0]).IsChecked  = pro.A;
                        ((CheckBox)_stackDigitalInputs.Children[1]).IsChecked  = pro.B;
                        ((CheckBox)_stackDigitalInputs.Children[2]).IsChecked  = pro.X;
                        ((CheckBox)_stackDigitalInputs.Children[3]).IsChecked  = pro.Y;
                        ((CheckBox)_stackDigitalInputs.Children[4]).IsChecked  = pro.Up;
                        ((CheckBox)_stackDigitalInputs.Children[5]).IsChecked  = pro.Down;
                        ((CheckBox)_stackDigitalInputs.Children[6]).IsChecked  = pro.Left;
                        ((CheckBox)_stackDigitalInputs.Children[7]).IsChecked  = pro.Right;
                        ((CheckBox)_stackDigitalInputs.Children[8]).IsChecked  = pro.L;
                        ((CheckBox)_stackDigitalInputs.Children[9]).IsChecked  = pro.R;
                        ((CheckBox)_stackDigitalInputs.Children[10]).IsChecked = pro.ZL;
                        ((CheckBox)_stackDigitalInputs.Children[11]).IsChecked = pro.ZR;
                        ((CheckBox)_stackDigitalInputs.Children[12]).IsChecked = pro.Plus;
                        ((CheckBox)_stackDigitalInputs.Children[13]).IsChecked = pro.Minus;
                        ((CheckBox)_stackDigitalInputs.Children[14]).IsChecked = pro.Home;
                        ((CheckBox)_stackDigitalInputs.Children[15]).IsChecked = pro.LStick;
                        ((CheckBox)_stackDigitalInputs.Children[16]).IsChecked = pro.RStick;

                        if (_stackAnalogInputs.Children.Count < 4)
                        {
                            return;
                        }
                        ((Label)_stackAnalogInputs.Children[0]).Content = pro.LJoy.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[1]).Content = pro.LJoy.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[2]).Content = pro.LJoy.ToString();
                        ((Label)_stackAnalogInputs.Children[3]).Content = pro.RJoy.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[4]).Content = pro.RJoy.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[5]).Content = pro.RJoy.ToString();
                        #endregion
                        break;

                    case ControllerType.Wiimote:
                        #region Wiimote Display

                        //Wiimote wm = new Wiimote();
                        //wm = (Wiimote)e.state; // try/catch if we must
                        UpdateWiimoteInputs((Wiimote)e.state);

                        #endregion
                        break;

                    case ControllerType.Nunchuk:
                    case ControllerType.NunchukB:
                        #region Nunchuk Display

                        var nun = ((Nunchuk)e.state);
                        UpdateWiimoteInputs(nun.wiimote);

                        // Update Digital Inputs
                        if (_stackDigitalInputs.Children.Count < 17)
                        {
                            return;
                        }
                        ((CheckBox)_stackDigitalInputs.Children[15]).IsChecked = nun.C;
                        ((CheckBox)_stackDigitalInputs.Children[16]).IsChecked = nun.Z;

                        if (_stackAnalogInputs.Children.Count < 15)
                        {
                            return;
                        }
                        ((Label)_stackAnalogInputs.Children[8]).Content  = "Left Joy: " + nun.joystick.ToString();
                        ((Label)_stackAnalogInputs.Children[9]).Content  = "LJoy X: " + nun.joystick.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[10]).Content = "LJoy Y: " + nun.joystick.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[11]).Content = "Acc: " + nun.accelerometer.ToString();
                        ((Label)_stackAnalogInputs.Children[12]).Content = "Acc X: " + nun.accelerometer.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[13]).Content = "Acc Y: " + nun.accelerometer.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[14]).Content = "Acc Z: " + nun.accelerometer.rawZ.ToString();

                        #endregion
                        break;

                    case ControllerType.ClassicController:
                        #region Classic Controller Display

                        var cc = ((ClassicController)e.state);
                        UpdateWiimoteInputs(cc.wiimote);

                        // Update Digital Inputs
                        if (_stackDigitalInputs.Children.Count < 32)
                        {
                            return;
                        }
                        ((CheckBox)_stackDigitalInputs.Children[15]).IsChecked = cc.A;
                        ((CheckBox)_stackDigitalInputs.Children[16]).IsChecked = cc.B;
                        ((CheckBox)_stackDigitalInputs.Children[17]).IsChecked = cc.X;
                        ((CheckBox)_stackDigitalInputs.Children[18]).IsChecked = cc.Y;
                        ((CheckBox)_stackDigitalInputs.Children[19]).IsChecked = cc.Up;
                        ((CheckBox)_stackDigitalInputs.Children[20]).IsChecked = cc.Down;
                        ((CheckBox)_stackDigitalInputs.Children[21]).IsChecked = cc.Left;
                        ((CheckBox)_stackDigitalInputs.Children[22]).IsChecked = cc.Right;
                        ((CheckBox)_stackDigitalInputs.Children[23]).IsChecked = cc.L.value > 0;
                        ((CheckBox)_stackDigitalInputs.Children[24]).IsChecked = cc.R.value > 0;
                        ((CheckBox)_stackDigitalInputs.Children[25]).IsChecked = cc.LFull;    // cc.L.full;
                        ((CheckBox)_stackDigitalInputs.Children[26]).IsChecked = cc.RFull;    // cc.R.full;
                        ((CheckBox)_stackDigitalInputs.Children[27]).IsChecked = cc.ZL;
                        ((CheckBox)_stackDigitalInputs.Children[28]).IsChecked = cc.ZR;
                        ((CheckBox)_stackDigitalInputs.Children[29]).IsChecked = cc.Plus;
                        ((CheckBox)_stackDigitalInputs.Children[30]).IsChecked = cc.Minus;
                        ((CheckBox)_stackDigitalInputs.Children[31]).IsChecked = cc.Home;

                        if (_stackAnalogInputs.Children.Count < 16)
                        {
                            return;
                        }
                        ((Label)_stackAnalogInputs.Children[8]).Content  = "Left Joy: " + cc.LJoy.ToString();
                        ((Label)_stackAnalogInputs.Children[9]).Content  = "LJoy X: " + cc.LJoy.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[10]).Content = "LJoy Y: " + cc.LJoy.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[11]).Content = "Right Joy: " + cc.RJoy.ToString();
                        ((Label)_stackAnalogInputs.Children[12]).Content = "RJoy X: " + cc.RJoy.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[13]).Content = "RJoy Y: " + cc.RJoy.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[14]).Content = "LTrigger: " + cc.L.rawValue.ToString();
                        ((Label)_stackAnalogInputs.Children[15]).Content = "RTrigger: " + cc.R.rawValue.ToString();

                        #endregion
                        break;

                    case ControllerType.ClassicControllerPro:
                        #region Classic Controller Pro Display

                        var ccp = ((ClassicControllerPro)e.state);
                        UpdateWiimoteInputs(ccp.wiimote);

                        // Update Digital Inputs
                        if (_stackDigitalInputs.Children.Count < 30)
                        {
                            return;
                        }
                        ((CheckBox)_stackDigitalInputs.Children[15]).IsChecked = ccp.A;
                        ((CheckBox)_stackDigitalInputs.Children[16]).IsChecked = ccp.B;
                        ((CheckBox)_stackDigitalInputs.Children[17]).IsChecked = ccp.X;
                        ((CheckBox)_stackDigitalInputs.Children[18]).IsChecked = ccp.Y;
                        ((CheckBox)_stackDigitalInputs.Children[19]).IsChecked = ccp.Up;
                        ((CheckBox)_stackDigitalInputs.Children[20]).IsChecked = ccp.Down;
                        ((CheckBox)_stackDigitalInputs.Children[21]).IsChecked = ccp.Left;
                        ((CheckBox)_stackDigitalInputs.Children[22]).IsChecked = ccp.Right;
                        ((CheckBox)_stackDigitalInputs.Children[23]).IsChecked = ccp.L;
                        ((CheckBox)_stackDigitalInputs.Children[24]).IsChecked = ccp.R;
                        ((CheckBox)_stackDigitalInputs.Children[25]).IsChecked = ccp.ZL;
                        ((CheckBox)_stackDigitalInputs.Children[26]).IsChecked = ccp.ZR;
                        ((CheckBox)_stackDigitalInputs.Children[27]).IsChecked = ccp.Plus;
                        ((CheckBox)_stackDigitalInputs.Children[28]).IsChecked = ccp.Minus;
                        ((CheckBox)_stackDigitalInputs.Children[29]).IsChecked = ccp.Home;

                        if (_stackAnalogInputs.Children.Count < 14)
                        {
                            return;
                        }
                        ((Label)_stackAnalogInputs.Children[8]).Content  = "Left Joy: " + ccp.LJoy.ToString();
                        ((Label)_stackAnalogInputs.Children[9]).Content  = "LJoy X: " + ccp.LJoy.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[10]).Content = "LJoy Y: " + ccp.LJoy.rawY.ToString();
                        ((Label)_stackAnalogInputs.Children[11]).Content = "Right Joy: " + ccp.RJoy.ToString();
                        ((Label)_stackAnalogInputs.Children[12]).Content = "RJoy X: " + ccp.RJoy.rawX.ToString();
                        ((Label)_stackAnalogInputs.Children[13]).Content = "RJoy Y: " + ccp.RJoy.rawY.ToString();

                        #endregion
                        break;

                    case ControllerType.BalanceBoard:
                        #region Balance Board Display
                        #endregion
                        break;
                    }
                }
                catch (Exception ex)
                {
                }
            });
        }
Ejemplo n.º 17
0
        void device_StateChange(object sender, NintrollerStateEventArgs e)
        {
            // Makes the timer wait
            if (updateTimer != null)
            {
                updateTimer.Change(1000, UPDATE_SPEED);
            }

            if (holder == null)
            {
                return;
            }

//            float intensity = 0;
//            if (holder.Values.TryGetValue(Inputs.Flags.RUMBLE, out intensity))
//            {
//                rumbleAmount = (int)intensity;
            RumbleStep();
//            }

            holder.ClearAllValues();

            switch (e.controllerType)
            {
            // TODO: Motion Plus Reading (not for 1st release)
            // TODO: Balance Board Reading (not for 1st release)
            // TODO: Musical Extension readings (not for 1st release)
            case ControllerType.ProController:
                #region Pro Controller
                ProController pro = (ProController)e.state;

                holder.SetValue(Inputs.ProController.A, pro.A);
                holder.SetValue(Inputs.ProController.B, pro.B);
                holder.SetValue(Inputs.ProController.X, pro.X);
                holder.SetValue(Inputs.ProController.Y, pro.Y);

                holder.SetValue(Inputs.ProController.UP, pro.Up);
                holder.SetValue(Inputs.ProController.DOWN, pro.Down);
                holder.SetValue(Inputs.ProController.LEFT, pro.Left);
                holder.SetValue(Inputs.ProController.RIGHT, pro.Right);

                holder.SetValue(Inputs.ProController.L, pro.L);
                holder.SetValue(Inputs.ProController.R, pro.R);
                holder.SetValue(Inputs.ProController.ZL, pro.ZL);
                holder.SetValue(Inputs.ProController.ZR, pro.ZR);

                holder.SetValue(Inputs.ProController.START, pro.Plus);
                holder.SetValue(Inputs.ProController.SELECT, pro.Minus);
                holder.SetValue(Inputs.ProController.HOME, pro.Home);
                holder.SetValue(Inputs.ProController.LS, pro.LStick);
                holder.SetValue(Inputs.ProController.RS, pro.RStick);

                holder.SetValue(Inputs.ProController.LRIGHT, pro.LJoy.X > 0 ? pro.LJoy.X : 0f);
                holder.SetValue(Inputs.ProController.LLEFT, pro.LJoy.X < 0 ? pro.LJoy.X * -1 : 0f);
                holder.SetValue(Inputs.ProController.LUP, pro.LJoy.Y > 0 ? pro.LJoy.Y : 0f);
                holder.SetValue(Inputs.ProController.LDOWN, pro.LJoy.Y < 0 ? pro.LJoy.Y * -1 : 0f);

                holder.SetValue(Inputs.ProController.RRIGHT, pro.RJoy.X > 0 ? pro.RJoy.X : 0f);
                holder.SetValue(Inputs.ProController.RLEFT, pro.RJoy.X < 0 ? pro.RJoy.X * -1 : 0f);
                holder.SetValue(Inputs.ProController.RUP, pro.RJoy.Y > 0 ? pro.RJoy.Y : 0f);
                holder.SetValue(Inputs.ProController.RDOWN, pro.RJoy.Y < 0 ? pro.RJoy.Y * -1 : 0f);
                #endregion
                break;

            case ControllerType.Wiimote:
                Wiimote wm = (Wiimote)e.state;
                SetWiimoteInputs(wm);
                break;

            case ControllerType.Nunchuk:
            case ControllerType.NunchukB:
                #region Nunchuk
                Nunchuk nun = (Nunchuk)e.state;

                SetWiimoteInputs(nun.wiimote);

                holder.SetValue(Inputs.Nunchuk.C, nun.C);
                holder.SetValue(Inputs.Nunchuk.Z, nun.Z);

                holder.SetValue(Inputs.Nunchuk.RIGHT, nun.joystick.X > 0 ? nun.joystick.X : 0f);
                holder.SetValue(Inputs.Nunchuk.LEFT, nun.joystick.X < 0 ? nun.joystick.X * -1 : 0f);
                holder.SetValue(Inputs.Nunchuk.UP, nun.joystick.Y > 0 ? nun.joystick.Y : 0f);
                holder.SetValue(Inputs.Nunchuk.DOWN, nun.joystick.Y < 0 ? nun.joystick.Y * -1 : 0f);

                //TODO: Nunchuk Accelerometer (not for 1st release)
                holder.SetValue(Inputs.Nunchuk.TILT_RIGHT, nun.accelerometer.X > 0 ? nun.accelerometer.X : 0f);
                holder.SetValue(Inputs.Nunchuk.TILT_LEFT, nun.accelerometer.X < 0 ? nun.accelerometer.X * -1 : 0f);
                holder.SetValue(Inputs.Nunchuk.TILT_UP, nun.accelerometer.Y > 0 ? nun.accelerometer.Y : 0f);
                holder.SetValue(Inputs.Nunchuk.TILT_DOWN, nun.accelerometer.Y < 0 ? nun.accelerometer.Y * -1 : 0f);

                holder.SetValue(Inputs.Nunchuk.ACC_SHAKE_X, nun.accelerometer.X > 1.15f);
                holder.SetValue(Inputs.Nunchuk.ACC_SHAKE_Y, nun.accelerometer.Y > 1.15f);
                holder.SetValue(Inputs.Nunchuk.ACC_SHAKE_Z, nun.accelerometer.Z > 1.15f);
                #endregion
                break;

            case ControllerType.ClassicController:
                #region Classic Controller
                ClassicController cc = (ClassicController)e.state;

                SetWiimoteInputs(cc.wiimote);

                holder.SetValue(Inputs.ClassicController.A, cc.A);
                holder.SetValue(Inputs.ClassicController.B, cc.B);
                holder.SetValue(Inputs.ClassicController.X, cc.X);
                holder.SetValue(Inputs.ClassicController.Y, cc.Y);

                holder.SetValue(Inputs.ClassicController.UP, cc.Up);
                holder.SetValue(Inputs.ClassicController.DOWN, cc.Down);
                holder.SetValue(Inputs.ClassicController.LEFT, cc.Left);
                holder.SetValue(Inputs.ClassicController.RIGHT, cc.Right);

                holder.SetValue(Inputs.ClassicController.L, cc.L.value > 0);
                holder.SetValue(Inputs.ClassicController.R, cc.R.value > 0);
                holder.SetValue(Inputs.ClassicController.ZL, cc.ZL);
                holder.SetValue(Inputs.ClassicController.ZR, cc.ZR);

                holder.SetValue(Inputs.ClassicController.START, cc.Start);
                holder.SetValue(Inputs.ClassicController.SELECT, cc.Select);
                holder.SetValue(Inputs.ClassicController.HOME, cc.Home);

                holder.SetValue(Inputs.ClassicController.LFULL, cc.LFull);
                holder.SetValue(Inputs.ClassicController.RFULL, cc.RFull);
                holder.SetValue(Inputs.ClassicController.LT, cc.L.value > 0.1f ? cc.L.value : 0f);
                holder.SetValue(Inputs.ClassicController.RT, cc.R.value > 0.1f ? cc.R.value : 0f);

                holder.SetValue(Inputs.ClassicController.LRIGHT, cc.LJoy.X > 0 ? cc.LJoy.X : 0f);
                holder.SetValue(Inputs.ClassicController.LLEFT, cc.LJoy.X < 0 ? cc.LJoy.X * -1 : 0f);
                holder.SetValue(Inputs.ClassicController.LUP, cc.LJoy.Y > 0 ? cc.LJoy.Y : 0f);
                holder.SetValue(Inputs.ClassicController.LDOWN, cc.LJoy.Y < 0 ? cc.LJoy.Y * -1 : 0f);

                holder.SetValue(Inputs.ClassicController.RRIGHT, cc.RJoy.X > 0 ? cc.RJoy.X : 0f);
                holder.SetValue(Inputs.ClassicController.RLEFT, cc.RJoy.X < 0 ? cc.RJoy.X * -1 : 0f);
                holder.SetValue(Inputs.ClassicController.RUP, cc.RJoy.Y > 0 ? cc.RJoy.Y : 0f);
                holder.SetValue(Inputs.ClassicController.RDOWN, cc.RJoy.Y < 0 ? cc.RJoy.Y * -1 : 0f);
                #endregion
                break;

            case ControllerType.ClassicControllerPro:
                #region Classic Controller Pro
                ClassicControllerPro ccp = (ClassicControllerPro)e.state;

                SetWiimoteInputs(ccp.wiimote);

                holder.SetValue(Inputs.ClassicControllerPro.A, ccp.A);
                holder.SetValue(Inputs.ClassicControllerPro.B, ccp.B);
                holder.SetValue(Inputs.ClassicControllerPro.X, ccp.X);
                holder.SetValue(Inputs.ClassicControllerPro.Y, ccp.Y);

                holder.SetValue(Inputs.ClassicControllerPro.UP, ccp.Up);
                holder.SetValue(Inputs.ClassicControllerPro.DOWN, ccp.Down);
                holder.SetValue(Inputs.ClassicControllerPro.LEFT, ccp.Left);
                holder.SetValue(Inputs.ClassicControllerPro.RIGHT, ccp.Right);

                holder.SetValue(Inputs.ClassicControllerPro.L, ccp.L);
                holder.SetValue(Inputs.ClassicControllerPro.R, ccp.R);
                holder.SetValue(Inputs.ClassicControllerPro.ZL, ccp.ZL);
                holder.SetValue(Inputs.ClassicControllerPro.ZR, ccp.ZR);

                holder.SetValue(Inputs.ClassicControllerPro.START, ccp.Start);
                holder.SetValue(Inputs.ClassicControllerPro.SELECT, ccp.Select);
                holder.SetValue(Inputs.ClassicControllerPro.HOME, ccp.Home);

                holder.SetValue(Inputs.ClassicControllerPro.LRIGHT, ccp.LJoy.X > 0 ? ccp.LJoy.X : 0f);
                holder.SetValue(Inputs.ClassicControllerPro.LLEFT, ccp.LJoy.X < 0 ? ccp.LJoy.X * -1 : 0f);
                holder.SetValue(Inputs.ClassicControllerPro.LUP, ccp.LJoy.Y > 0 ? ccp.LJoy.Y : 0f);
                holder.SetValue(Inputs.ClassicControllerPro.LDOWN, ccp.LJoy.Y < 0 ? ccp.LJoy.Y * -1 : 0f);

                holder.SetValue(Inputs.ClassicControllerPro.RRIGHT, ccp.RJoy.X > 0 ? ccp.RJoy.X : 0f);
                holder.SetValue(Inputs.ClassicControllerPro.RLEFT, ccp.RJoy.X < 0 ? ccp.RJoy.X * -1 : 0f);
                holder.SetValue(Inputs.ClassicControllerPro.RUP, ccp.RJoy.Y > 0 ? ccp.RJoy.Y : 0f);
                holder.SetValue(Inputs.ClassicControllerPro.RDOWN, ccp.RJoy.Y < 0 ? ccp.RJoy.Y * -1 : 0f);
                #endregion
                break;
            }

            holder.Update();

            // Resumes the timer in case this method is not called withing 100ms
            if (updateTimer != null)
            {
                updateTimer.Change(100, UPDATE_SPEED);
            }
        }