public void SetBinding(MapTo mappedTo, PadSetting ps) { _MappedTo = mappedTo; if (_padSetting != null) { _padSetting.PropertyChanged -= _padSetting_PropertyChanged; } LeftForceFeedbackMotorPanel.TestUpDown.ValueChanged -= TestUpDown_ValueChanged; RightForceFeedbackMotorPanel.TestUpDown.ValueChanged -= TestUpDown_ValueChanged; // Unbind first. SettingsManager.UnLoadMonitor(ForceEnabledCheckBox); SettingsManager.UnLoadMonitor(SwapMotorsCheckBox); SettingsManager.UnLoadMonitor(ForceTypeComboBox); SettingsManager.UnLoadMonitor(StrengthUpDown); if (ps == null) { return; } _padSetting = ps; var intConverter = new Converters.PadSettingToNumericConverter <decimal>(); var boolConverter = new Converters.PadSettingToBoolConverter(); var enumConverter = new Converters.PadSettingToEnumConverter <ForceEffectType>(); // Set binding. SettingsManager.LoadAndMonitor(ps, nameof(ps.ForceEnable), ForceEnabledCheckBox, null, boolConverter); SettingsManager.LoadAndMonitor(ps, nameof(ps.ForceSwapMotor), SwapMotorsCheckBox, null, boolConverter); SettingsManager.LoadAndMonitor(ps, nameof(ps.ForceType), ForceTypeComboBox, null, enumConverter); SettingsManager.LoadAndMonitor(ps, nameof(ps.ForceOverall), StrengthUpDown, null, intConverter); _padSetting.PropertyChanged += _padSetting_PropertyChanged; LeftForceFeedbackMotorPanel.TestUpDown.ValueChanged += TestUpDown_ValueChanged; RightForceFeedbackMotorPanel.TestUpDown.ValueChanged += TestUpDown_ValueChanged; }
/// <summary> /// Get PadSetting from currently selected device. /// </summary> /// <param name="padIndex">Source pad index.</param> public PadSetting GetCurrentPadSetting(MapTo padIndex) { // Get settings related to PAD. var maps = SettingsMap.Where(x => x.MapTo == padIndex).ToArray(); PropertyInfo[] properties; if (!ValidatePropertyNames(maps, out properties)) { return(null); } var ps = new PadSetting(); foreach (var p in properties) { var map = maps.First(x => x.PropertyName == p.Name); var key = map.IniPath.Split('\\')[1]; // Get setting value from the form. var v = GetSettingValue(map.Control); // If value is default then... if (v == map.DefaultValue as string) { // Remove default value. v = null; } // Set value onto padSetting. p.SetValue(ps, v ?? "", null); } ps.PadSettingChecksum = ps.CleanAndGetCheckSum(); return(ps); }
///// <summary> ///// Load PAD settings from INI file to form. ///// </summary> ///// <param name="file">INI file name.</param> ///// <param name="iniSection">Source INI pad section.</param> ///// <param name="padIndex">Destination pad index.</param> //public void LoadPadSettings(string file, string iniSection, int padIndex) //{ // var ini2 = new Ini(file); // var pad = string.Format("PAD{0}", padIndex + 1); // var paths = SettingsMap.Select(x => x.IniPath).ToArray(); // foreach (string path in paths) // { // string section = path.Split('\\')[0]; // if (section != pad) continue; // string key = path.Split('\\')[1]; // Control control = SettingsMap.FirstOrDefault(x => x.IniPath == path).Control; // string dstPath = string.Format("{0}\\{1}", pad, key); // control = SettingsMap.FirstOrDefault(x => x.IniPath == dstPath).Control; // string v = ini2.GetValue(iniSection, key); // LoadSetting(control, key, v); // } // loadCount++; // if (ConfigLoaded != null) ConfigLoaded(this, new SettingEventArgs(ini2.File.Name, loadCount)); //} /// <summary> /// Load PAD settings to form. /// </summary> /// <param name="padSetting">Settings to read.</param> /// <param name="padIndex">Destination pad index.</param> public void LoadPadSettings(MapTo padIndex, PadSetting padSetting) { if (padSetting == null) { padSetting = new PadSetting(); } // Get settings related to PAD. var items = SettingsMap.Where(x => x.MapTo == padIndex).ToArray(); var props = padSetting.GetType().GetProperties(); foreach (var item in items) { string key = item.IniPath.Split('\\')[1]; var prop = props.FirstOrDefault(x => x.Name == item.PropertyName); // If property was not found then... if (prop == null) { //var message = string.Format("ReadPadSettings: Property '{0}' was not found", item.PropertyName); //MessageBoxForm.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); continue; } var v = (string)prop.GetValue(padSetting, null) ?? ""; LoadSetting(item.Control, key, v); } loadCount++; var ev = ConfigLoaded; if (ev != null) { ev(this, new SettingEventArgs(padSetting.GetType().Name, loadCount)); } }
public void SyncFormFromPadSetting(MapTo padIndex, PadSetting ps) { // Get setting maps for specified PAD Control. var maps = SettingsMap.Where(x => x.MapTo == padIndex).ToArray(); PropertyInfo[] properties; if (!ValidatePropertyNames(maps, out properties)) { return; } // Suspend form events (do not track setting changes on the form). SuspendEvents(); foreach (var p in properties) { var map = maps.FirstOrDefault(x => x.PropertyName == p.Name); if (map == null) { continue; } var v = (string)p.GetValue(ps, null) ?? ""; // If value is not set then... if (string.IsNullOrEmpty(v)) { // Restore default value. v = string.Format("{0}", map.DefaultValue ?? ""); } LoadSetting(map.Control, map.PropertyName, v); } // Resume form events (track setting changes on the form). ResumeEvents(); }
/// <summary> /// Creates a new mapped huge array. /// </summary> /// <param name="baseArray">The base array.</param> /// <param name="elementSize">The size of one mapped structure when translate to the simpler structure.</param> /// <param name="mapTo">The map to implementation.</param> /// <param name="mapFrom">The map from implementation.</param> public MappedHugeArray(HugeArrayBase <T> baseArray, int elementSize, MapTo mapTo, MapFrom mapFrom) { _baseArray = baseArray; _elementSize = elementSize; _mapTo = mapTo; _mapFrom = mapFrom; }
/// <summary> /// Load PAD settings to form. /// </summary> /// <param name="padSetting">Settings to read.</param> /// <param name="padIndex">Destination pad index.</param> public void LoadPadSettings(MapTo padIndex, PadSetting padSetting) { // Get settings related to PAD. var maps = SettingsMap.Where(x => x.MapTo == padIndex).ToArray(); PropertyInfo[] properties; if (!ValidatePropertyNames(maps, out properties)) { return; } // Suspend form events (do not track setting changes on the form). SuspendEvents(); // If pad settings must be reset then load default. var ps = padSetting == null ? new PadSetting() : padSetting; foreach (var p in properties) { var map = maps.First(x => x.PropertyName == p.Name); var key = map.IniPath.Split('\\')[1]; var v = (string)p.GetValue(ps, null) ?? ""; LoadSetting(map.Control, key, v); } // Resume form events (track setting changes on the form). ResumeEvents(); loadCount++; var ev = ConfigLoaded; if (ev != null) { ev(this, new SettingEventArgs(typeof(PadSetting).Name, loadCount)); } }
internal ScenarioFunctionBlockBase(BinaryReader binaryReader) { this.flags = (Flags)binaryReader.ReadInt32(); this.name = binaryReader.ReadString32(); this.periodSeconds = binaryReader.ReadSingle(); this.scalePeriodBy = binaryReader.ReadShortBlockIndex1(); this.function = (Function)binaryReader.ReadInt16(); this.scaleFunctionBy = binaryReader.ReadShortBlockIndex1(); this.wobbleFunction = (WobbleFunctionCurveUsedForWobble)binaryReader.ReadInt16(); this.wobblePeriodSeconds = binaryReader.ReadSingle(); this.wobbleMagnitudePercent = binaryReader.ReadSingle(); this.squareWaveThreshold = binaryReader.ReadSingle(); this.stepCount = binaryReader.ReadInt16(); this.mapTo = (MapTo)binaryReader.ReadInt16(); this.sawtoothCount = binaryReader.ReadInt16(); this.invalidName_ = binaryReader.ReadBytes(2); this.scaleResultBy = binaryReader.ReadShortBlockIndex1(); this.boundsMode = (BoundsModeControlsHowBoundsBelowAreUsed)binaryReader.ReadInt16(); this.bounds = binaryReader.ReadVector2(); this.invalidName_0 = binaryReader.ReadBytes(4); this.invalidName_1 = binaryReader.ReadBytes(2); this.turnOffWith = binaryReader.ReadShortBlockIndex1(); this.invalidName_2 = binaryReader.ReadBytes(16); this.invalidName_3 = binaryReader.ReadBytes(16); }
/// <summary> /// Load PAD settings to form. /// </summary> /// <param name="padSetting">Settings to read.</param> /// <param name="padIndex">Destination pad index.</param> public void LoadPadSettingsIntoSelectedDevice(MapTo padIndex, PadSetting ps) { // Get pad control with settings. var padControl = MainForm.Current.PadControls[(int)padIndex - 1]; // Get selected setting. var setting = padControl.CurrentUserSetting; // Return if nothing selected. if (setting == null) { return; } // If setting not supplied then use empty (clear settings). if (ps == null) { ps = new PadSetting(); } LoadPadSettingAndCleanup(setting, ps); SyncFormFromPadSetting(padIndex, ps); RaiseSettingsChanged(null); loadCount++; var ev = ConfigLoaded; if (ev != null) { ev(this, new SettingEventArgs(typeof(PadSetting).Name, loadCount)); } }
protected override void Because_of() { var source = new MapFrom { Element = new MapFromElementDerived { Prop = "PROP1", Prop2 = "PROP2" } }; _destination = Mapper.Map <MapTo>(source); }
public override IProgramPart VisitMapFolderTo(FSQLParser.MapFolderToContext context) { var aliasname = context.alias.Text; //var folder = UnescapeString(context.folder.Text); var folder = Visit(context.folder) as IExpression; //var filter = UnescapeString(context.filter?.Text ?? "*.*"); var filter = context.filter == null ? (StringConstant)"*.*" : Visit(context.filter) as IExpression; var mapTo = new MapTo(aliasname, folder, filter); return(mapTo); //return base.VisitMapFolderTo(context); }
public void SetVibration(MapTo userIndex, byte largeMotor, byte smallMotor, byte ledNumber) { var client = ViGEmClient.Current; if (client == null) { return; } var e = new Xbox360FeedbackReceivedEventArgs(largeMotor, smallMotor, ledNumber); ViGEmClient.Current.Feedbacks[(int)userIndex - 1] = e; }
public void SetBinding(MapTo mappedTo) { _MappedTo = mappedTo; // Remove references which will allows form to be disposed. SettingsManager.UserSettings.Items.ListChanged -= UserSettings_Items_ListChanged; mappedUserSettings.Clear(); if (mappedTo != MapTo.None) { SettingsManager.UserSettings.Items.ListChanged += UserSettings_Items_ListChanged; UserSettings_Items_ListChanged(null, null); } }
static string GetInstanceSection(MapTo mapTo) { var ig = GetInstanceGuid(mapTo); // If InstanceGuid value is empty then exit. if (ig.Equals(Guid.Empty)) { return(null); } // Save settings to unique Instance section. return(Current.GetInstanceSection(ig)); }
public void SetBinding(MapTo mappedTo, UserDevice userDevice, PadSetting padSetting) { _MappedTo = mappedTo; _UserDevice = userDevice; _PadSetting = padSetting; var en = padSetting != null; ControlsHelper.SetEnabled(CopyButton, en); ControlsHelper.SetEnabled(PasteButton, en); ControlsHelper.SetEnabled(LoadButton, en); ControlsHelper.SetEnabled(AutoButton, en); ControlsHelper.SetEnabled(ClearButton, en); ControlsHelper.SetEnabled(ResetButton, en); }
static Guid GetInstanceGuid(MapTo mapTo) { var guidString = Current.SettingsMap.First(x => x.MapTo == mapTo && x.IniKey == SettingName.InstanceGuid).Control.Text; // If instanceGuid value is not a GUID then exit. if (!EngineHelper.IsGuid(guidString)) { return(Guid.Empty); } Guid ig = new Guid(guidString); return(ig); }
public void InitializeImages(List <ImageInfo> imageInfos, PadControlImager imager, MapTo mappedTo) { Infos = imageInfos; Imager = imager; MappedTo = mappedTo; foreach (var ii in imageInfos) { var nameCode = GetNameCode(ii.Code); var button = FindName(nameCode.ToString()) as Button; ii.ButtonControl = button; SetImage(ii.Code, NavImageType.Normal, false); } SetHelpText(); }
public bool ClearAll(MapTo padIndex) { var description = JocysCom.ClassLibrary.Runtime.Attributes.GetDescription(padIndex); var text = string.Format("Do you want to clear all {0} settings?", description); var form = new JocysCom.ClassLibrary.Controls.MessageBoxWindow(); var result = form.ShowDialog(text, "Clear Controller Settings", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question); if (result != System.Windows.MessageBoxResult.Yes) { return(false); } LoadPadSettingsIntoSelectedDevice(padIndex, null); return(true); }
public static List <UserDevice> GetDevices(string fileName, MapTo mapTo) { var settings = GetSettings(fileName); // Get all mapped to specific index. var instances = settings .Where(x => x.MapTo == (int)mapTo) .Select(x => x.InstanceGuid).ToArray(); var devices = UserDevices.Items .Where(x => instances.Contains(x.InstanceGuid)) .ToList(); // Return available devices. return(devices); }
public static MapToMask GetMapFlag(MapTo mapTo) { switch (mapTo) { case MapTo.Controller1: return(MapToMask.Controller1); case MapTo.Controller2: return(MapToMask.Controller2); case MapTo.Controller3: return(MapToMask.Controller3); case MapTo.Controller4: return(MapToMask.Controller4); default: return(MapToMask.None); } }
public void DrawController(PaintEventArgs e, MapTo mappedTo) { // Controller (Player) index indicator coordinates. var pads = new Point[4]; pads[0] = new Point(116, 35); pads[1] = new Point(139, 35); pads[2] = new Point(116, 62); pads[3] = new Point(139, 62); // Display controller index light. int mW = -markC.Width / 2; int mH = -markC.Height / 2; var index = (int)mappedTo - 1; e.Graphics.DrawImage(markC, pads[index].X + mW, pads[index].Y + mH); }
/// <summary> /// 注册对象类型转换器 /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="TResult"></typeparam> /// <param name="fn"></param> public static void CreateMap <T, TResult>(MapTo <T, TResult> fn) where TResult : new() { var config = new MapperConfig <T, TResult>(); lock (lockHelper) { if (!dictMap.ContainsKey(config)) { dictMap.Add(config, fn); } else { dictMap[config] = fn; } } }
private void mnuSaveMap_Click(object sender, EventArgs e) { int paramCount = lstMappedPairs.Items.Count; foreach (ListViewItem aItem in lstMappedPairs.Items) { switch (currentMode) { case DataMapType.FieldColumnMap: MapTo.MapToFields(aItem, _aMap, aItem.Tag != null); break; case DataMapType.PropertyColumnMap: MapTo.MapToProperties(aItem, _aMap, aItem.Tag != null); break; case DataMapType.MethodParameterMap: string methodName = lblMethodName.Text; Guid anId = Guid.Empty; if (MethodMap != null) { anId = MethodMap.ID; methodName = MethodMap.MethodName; } if (aItem.Tag != null && aItem.Tag.GetType().BaseType.Equals(typeof(BaseRule))) { MethodMap = MapTo.MapToParameters(aItem, _aMap, methodName, paramCount, anId, true); } else { MethodMap = MapTo.MapToParameterColumnMap(aItem, _aMap, methodName, paramCount, false, anId); } break; } if (aItem.Tag != null) { RuleSets.Add((IDataRule)aItem.Tag); } } Result = _aMap; mnuSaveMap.BackColor = Color.Green; }
public void InitControls(MapTo mappedTo) { if (ControlsHelper.IsDesignMode(this)) { return; } // Add controls which must be notified on setting selection change. Global.UpdateControlFromStates += Global_UpdateControlFromStates; // Hide for this version. //PadItemPanel.PadTabControl.Items.Remove(PadItemPanel.XInputTabPage); //PadItemPanel.XInputTabPage.Content = null; //PadTabControl.TabPages.Remove(MacrosTabPage); RemapName = GeneralPanel.RemapAllButton.Content as string; MappedTo = mappedTo; _Imager = new PadControlImager(); _Imager.Top = XboxImage.TopPictureImage; _Imager.Front = XboxImage.FrontPictureImage; _Imager.LeftThumbStatus = XboxImage.LeftThumbContentControl; _Imager.RightThumbStatus = XboxImage.RightThumbContentControl; _Imager.LeftTriggerStatus = XboxImage.LeftTriggerContentControl; _Imager.RightTriggerStatus = XboxImage.RightTriggerContentControl; _Imager.ImageControl = XboxImage; XboxImage.InitializeImages(imageInfos, _Imager, mappedTo); XboxImage.StartRecording = StartRecording; XboxImage.StopRecording = StopRecording; // Axis to Button DeadZones ButtonsPanel.AxisToButtonADeadZonePanel.MonitorComboBoxWpf = GeneralPanel.ButtonATextBox; ButtonsPanel.AxisToButtonBDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.ButtonBTextBox; ButtonsPanel.AxisToButtonXDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.ButtonXTextBox; ButtonsPanel.AxisToButtonYDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.ButtonYTextBox; ButtonsPanel.AxisToButtonStartDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.ButtonStartTextBox; ButtonsPanel.AxisToButtonBackDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.ButtonBackTextBox; ButtonsPanel.AxisToLeftShoulderDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.LeftShoulderTextBox; ButtonsPanel.AxisToLeftThumbButtonDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.LeftThumbButtonTextBox; ButtonsPanel.AxisToRightShoulderDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.RightShoulderTextBox; ButtonsPanel.AxisToRightThumbButtonDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.RightThumbButtonTextBox; ButtonsPanel.AxisToDPadDownDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.DPadDownTextBox; ButtonsPanel.AxisToDPadLeftDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.DPadLeftTextBox; ButtonsPanel.AxisToDPadRightDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.DPadRightTextBox; ButtonsPanel.AxisToDPadUpDeadZonePanel.MonitorComboBoxWpf = GeneralPanel.DPadUpTextBox; // Monitor setting changes. SettingsManager.Current.SettingChanged += Current_SettingChanged; PadListPanel.SetBinding(MappedTo); PadListPanel.MainDataGrid.SelectionChanged += MainDataGrid_SelectionChanged; }
public MapTo[] Baseline() { var destination = new MapTo[this.mapFrom.Length]; for (var i = 0; i < this.mapFrom.Length; ++i) { var item = this.mapFrom[i]; destination[i] = new MapTo() { BooleanTo = item.BooleanFrom, DateTimeOffsetTo = item.DateTimeOffsetFrom, IntegerTo = item.IntegerFrom, LongTo = item.LongFrom, StringTo = item.StringFrom }; } return(destination); }
public static void MapGamePadDevices(UserGame game, MapTo mappedTo, UserDevice[] devices, bool configureHidGuardian) { foreach (var ud in devices) { // Try to get existing setting by instance guid and file name. var setting = GetSetting(ud.InstanceGuid, game.FileName); // If device setting for the game was not found then. if (setting == null) { // Create new setting. setting = AppHelper.GetNewSetting(ud, game, mappedTo); // Get auto-configured pad setting. var ps = AutoMapHelper.GetAutoPreset(ud); Current.LoadPadSettingAndCleanup(setting, ps, true); Current.SyncFormFromPadSetting(mappedTo, ps); // Refresh online status RefreshDeviceIsOnlineValueOnSettings(setting); // Load created setting. //SettingsManager.Current.LoadPadSettings(MappedTo, ps); } else { // Enable if not enabled. if (!setting.IsEnabled) { setting.IsEnabled = true; } // Map setting to current pad. setting.MapTo = (int)mappedTo; } } if (configureHidGuardian) { var instanceGuids = devices.Select(x => x.InstanceGuid).ToArray(); var changed = AutoHideShowMappedDevices(game, instanceGuids); if (changed) { AppHelper.SynchronizeToHidGuardian(instanceGuids); } } }
protected override void Because_of() { var source = new MapFrom { Element = new MapFromElementDerived { Prop = "PROP1", Prop2 = "PROP2" } }; _destination = Mapper.Map<MapTo>(source); }
public void SetBinding(MapTo mappedTo, UserSetting userSetting) { _MappedTo = mappedTo; _UserSetting = userSetting; }
public static Engine.Data.Setting GetNewSetting(UserDevice device, Engine.Data.UserGame game, MapTo mapTo) { // Create new setting for game/device. var newSetting = new Engine.Data.Setting(); newSetting.InstanceGuid = device.InstanceGuid; newSetting.InstanceName = device.InstanceName; newSetting.ProductGuid = device.ProductGuid; newSetting.ProductName = device.ProductName; newSetting.DeviceType = (int)device.CapType; newSetting.FileName = game.FileName; newSetting.FileProductName = game.FileProductName; newSetting.DateCreated = DateTime.Now; newSetting.IsEnabled = true; newSetting.MapTo = (int)mapTo; return(newSetting); }
static public SettingsMapItem AddMap <T>(string sectionName, Expression <Func <T> > setting, Control control, MapTo mapTo = MapTo.None, MapCode code = default) { // Get the member expression var me = (MemberExpression)setting.Body; // Get the property var prop = (PropertyInfo)me.Member; // Get the setting name by reading the property var keyName = (string)prop.GetValue(null, null); if (string.IsNullOrEmpty(keyName)) { keyName = prop.Name; } // Get the description attribute var descAttr = GetCustomAttribute <DescriptionAttribute>(prop); var desc = descAttr != null ? descAttr.Description : string.Empty; // Get the default value attribute var dvalAttr = GetCustomAttribute <DefaultValueAttribute>(prop); var dval = (string)(descAttr != null ? dvalAttr.Value : null); // Display help inside yellow header. // We could add settings EnableHelpTooltips=1, EnableHelpHeader=1 control.MouseHover += control_MouseEnter; control.MouseLeave += control_MouseLeave; var item = new SettingsMapItem(); item.Description = desc; item.IniSection = sectionName; item.IniKey = keyName; item.Code = code; item.Control = control; item.MapTo = mapTo; item.PropertyName = prop.Name; item.DefaultValue = dval; item.Property = prop; // Add to the map Current.SettingsMap.Add(item); return(item); }
public ScenarioFunctionBlock(BinaryReader binaryReader) { this.flags = (Flags)binaryReader.ReadInt32(); this.name = binaryReader.ReadString32(); this.periodSecondsPeriodForAboveFunctionLowerValuesMakeFunctionOscillateQuicklyHigherValuesMakeItOscillateSlowly = binaryReader.ReadSingle(); this.scalePeriodByMultiplyThisFunctionByAbovePeriod = binaryReader.ReadShortBlockIndex1(); this.function = (Function)binaryReader.ReadInt16(); this.scaleFunctionByMultiplyThisFunctionByResultOfAboveFunction = binaryReader.ReadShortBlockIndex1(); this.wobbleFunctionCurveUsedForWobble = (WobbleFunctionCurveUsedForWobble)binaryReader.ReadInt16(); this.wobblePeriodSecondsTimeItTakesForMagnitudeOfThisFunctionToCompleteAWobble = binaryReader.ReadSingle(); this.wobbleMagnitudePercentAmountOfRandomWobbleInTheMagnitude = binaryReader.ReadSingle(); this.squareWaveThresholdIfNonZeroAllValuesAboveSquareWaveThresholdAreSnappedTo10AndAllValuesBelowItAreSnappedTo00ToCreateASquareWave = binaryReader.ReadSingle(); this.stepCountNumberOfDiscreteValuesToSnapToEGStepCountOf5SnapsFunctionTo000025050075Or100 = binaryReader.ReadInt16(); this.mapTo = (MapTo)binaryReader.ReadInt16(); this.sawtoothCountNumberOfTimesThisFunctionShouldRepeatEGSawtoothCountOf5GivesFunctionValueOf10AtEachOf025050And075AsWellAsAt10 = binaryReader.ReadInt16(); this.padding = binaryReader.ReadBytes(2); this.scaleResultByMultiplyThisFunctionEGFromAWeaponVehicleFinalResultOfAllOfTheAboveMath = binaryReader.ReadShortBlockIndex1(); this.boundsModeControlsHowBoundsBelowAreUsed = (BoundsModeControlsHowBoundsBelowAreUsed)binaryReader.ReadInt16(); this.bounds = binaryReader.ReadSingle(); this.padding0 = binaryReader.ReadBytes(4); this.padding1 = binaryReader.ReadBytes(2); this.turnOffWithIfSpecifiedFunctionIsOffSoIsThisFunction = binaryReader.ReadShortBlockIndex1(); this.padding2 = binaryReader.ReadBytes(16); this.padding3 = binaryReader.ReadBytes(16); }
/// <summary> /// Clear Pad settings. /// </summary> /// <param name="padIndex">Destination pad index.</param> public void ClearPadSettings(MapTo mapTo) { LoadPadSettings(mapTo, null); }
public void SetBinding(MapTo mappedTo, PadSetting o) { _MappedTo = mappedTo; if (_padSetting != null) { _padSetting.PropertyChanged -= _padSetting_PropertyChanged; } // Unbind right side controls. SettingsManager.UnLoadMonitor(LeftTriggerTextBox); SettingsManager.UnLoadMonitor(LeftShoulderTextBox); SettingsManager.UnLoadMonitor(ButtonBackTextBox); SettingsManager.UnLoadMonitor(ButtonStartTextBox); SettingsManager.UnLoadMonitor(ButtonGuideTextBox); SettingsManager.UnLoadMonitor(DPadTextBox); SettingsManager.UnLoadMonitor(LeftThumbAxisXTextBox); SettingsManager.UnLoadMonitor(LeftThumbAxisYTextBox); SettingsManager.UnLoadMonitor(LeftThumbButtonTextBox); SettingsManager.UnLoadMonitor(LeftThumbUpTextBox); SettingsManager.UnLoadMonitor(LeftThumbLeftTextBox); SettingsManager.UnLoadMonitor(LeftThumbRightTextBox); SettingsManager.UnLoadMonitor(LeftThumbDownTextBox); // Unbind middle controls. SettingsManager.UnLoadMonitor(DPadUpTextBox); SettingsManager.UnLoadMonitor(DPadLeftTextBox); SettingsManager.UnLoadMonitor(DPadRightTextBox); SettingsManager.UnLoadMonitor(DPadDownTextBox); // Unbind right side controls. SettingsManager.UnLoadMonitor(RightTriggerTextBox); SettingsManager.UnLoadMonitor(RightShoulderTextBox); SettingsManager.UnLoadMonitor(ButtonYTextBox); SettingsManager.UnLoadMonitor(ButtonXTextBox); SettingsManager.UnLoadMonitor(ButtonBTextBox); SettingsManager.UnLoadMonitor(ButtonATextBox); SettingsManager.UnLoadMonitor(RightThumbAxisXTextBox); SettingsManager.UnLoadMonitor(RightThumbAxisYTextBox); SettingsManager.UnLoadMonitor(RightThumbButtonTextBox); SettingsManager.UnLoadMonitor(RightThumbUpTextBox); SettingsManager.UnLoadMonitor(RightThumbRightTextBox); SettingsManager.UnLoadMonitor(RightThumbRightTextBox); SettingsManager.UnLoadMonitor(RightThumbDownTextBox); if (o == null) { return; } _padSetting = o; var converter = new Converters.PaddSettingToText(); // Bind right side controls. SettingsManager.LoadAndMonitor(o, nameof(o.LeftTrigger), LeftTriggerTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftShoulder), LeftShoulderTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonBack), ButtonBackTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonStart), ButtonStartTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonGuide), ButtonGuideTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.DPad), DPadTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbAxisX), LeftThumbAxisXTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbAxisY), LeftThumbAxisYTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbButton), LeftThumbButtonTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbUp), LeftThumbUpTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbLeft), LeftThumbLeftTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbRight), LeftThumbRightTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.LeftThumbDown), LeftThumbDownTextBox, null, converter); // Bind middle controls. SettingsManager.LoadAndMonitor(o, nameof(o.DPadUp), DPadUpTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.DPadLeft), DPadLeftTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.DPadRight), DPadRightTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.DPadDown), DPadDownTextBox, null, converter); // Bind right side controls. SettingsManager.LoadAndMonitor(o, nameof(o.RightTrigger), RightTriggerTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightShoulder), RightShoulderTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonY), ButtonYTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonX), ButtonXTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonB), ButtonBTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.ButtonA), ButtonATextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbAxisX), RightThumbAxisXTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbAxisY), RightThumbAxisYTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbButton), RightThumbButtonTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbUp), RightThumbUpTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbRight), RightThumbRightTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbRight), RightThumbRightTextBox, null, converter); SettingsManager.LoadAndMonitor(o, nameof(o.RightThumbDown), RightThumbDownTextBox, null, converter); _padSetting.PropertyChanged += _padSetting_PropertyChanged; }