/// <summary> /// Sets calibrations based on the ToString of this class. /// </summary> /// <param name="storageString"></param> public void SetCalibrations(string storageString) { if (string.IsNullOrEmpty(storageString)) { return; } string[] chunks = storageString.Split(new char[] { '-' }); foreach (string calStr in chunks) { if (calStr.StartsWith("wm")) { WiimoteCalibration.SetCalibration(calStr); } else if (calStr.StartsWith("nun")) { NunchukCalibration.SetCalibration(calStr); } else if (calStr.StartsWith("cls")) { ClassicCalibration.SetCalibration(calStr); } else if (calStr.StartsWith("ccp")) { ClassicProCalibration.SetCalibration(calStr); } else if (calStr.StartsWith("pro")) { ProCalibration.SetCalibration(calStr); } } }
public void ChangeExtension(ControllerType type) { if (DeviceType == type) { return; } switch (type) { case ControllerType.Wiimote: if (State is IWiimoteExtension) { ConfigureWiimote(((IWiimoteExtension)State).wiimote); } else { ConfigureWiimote(new Wiimote()); } break; case ControllerType.Nunchuk: case ControllerType.NunchukB: var nState = new Nunchuk(); nState.SetCalibration(Calibrations.CalibrationPreset.Default); ConfigureNunchuk(nState); ConfigureWiimote(nState.wiimote); break; case ControllerType.ClassicController: var cState = new ClassicController(); cState.SetCalibration(Calibrations.CalibrationPreset.Default); ConfigureClassicController(cState); ConfigureWiimote(cState.wiimote); break; case ControllerType.ClassicControllerPro: var ccpState = new ClassicControllerPro(); ccpState.SetCalibration(Calibrations.CalibrationPreset.Default); ConfigureClassicControllerPro(ccpState); ConfigureWiimote(ccpState.wiimote); break; case ControllerType.Guitar: var guitar = new Guitar(); guitar.SetCalibration(Calibrations.CalibrationPreset.Default); ConfigureGuitar(guitar); ConfigureWiimote(guitar.wiimote); break; case ControllerType.TaikoDrum: var takio = new TaikoDrum(); takio.SetCalibration(Calibrations.CalibrationPreset.Default); // for wiimote ConfigureWiimote(takio.wiimote); break; default: // Invalid return; } DeviceType = type; _nextQueue.Enqueue(InputReport.Status); }