コード例 #1
0
        /// <summary>
        /// Load pad setting into control
        /// </summary>
        public void LoadPadSetting(Guid?padSettingChecksum)
        {
            // Load PadSetting object from configuration.
            PadSetting ps = null;

            if (padSettingChecksum.HasValue)
            {
                ps = SettingsManager.GetPadSetting(padSettingChecksum.Value);
            }
            if (ps == null)
            {
                ps = new PadSetting();
            }
            // Stop monitoring changes.
            CurrentPadSetting.PropertyChanged -= CurrentPadSetting_PropertyChanged;
            // Load values into current object which is attached to all controls.
            CurrentPadSetting.Load(ps);
            // Rebind pad setting to controls.
            DPadPanel.SetBinding(CurrentPadSetting);
            GeneralPanel.SetBinding(MappedTo, CurrentPadSetting);
            AdvancedPanel.SetBinding(CurrentPadSetting);
            LeftTriggerPanel.SetBinding(CurrentPadSetting);
            RightTriggerPanel.SetBinding(CurrentPadSetting);
            LeftThumbXPanel.SetBinding(CurrentPadSetting);
            LeftThumbYPanel.SetBinding(CurrentPadSetting);
            RightThumbXPanel.SetBinding(CurrentPadSetting);
            RightThumbYPanel.SetBinding(CurrentPadSetting);
            ForceFeedbackPanel.SetBinding(MappedTo, CurrentPadSetting);
            ForceFeedbackPanel.LeftForceFeedbackMotorPanel.SetBinding(CurrentPadSetting, 0);
            ForceFeedbackPanel.RightForceFeedbackMotorPanel.SetBinding(CurrentPadSetting, 1);
            PadFootPanel.SetBinding(MappedTo, _CurrentUserDevice, CurrentPadSetting);
            // Start monitoring changes.
            CurrentPadSetting.PropertyChanged += CurrentPadSetting_PropertyChanged;
            //SettingsManager.Current.LoadPadSettingsIntoSelectedDevice(MappedTo, CurrentPadSetting);
        }
コード例 #2
0
 private void CurrentPadSetting_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e.PropertyName != nameof(PadSetting.PadSettingChecksum))
     {
         var oldChecksum = CurrentPadSetting.PadSettingChecksum;
         var newChecksum = CurrentPadSetting.CleanAndGetCheckSum();
         // If checksum changed.
         if (oldChecksum != newChecksum)
         {
             CurrentPadSetting.PadSettingChecksum = newChecksum;
             System.Diagnostics.Debug.WriteLine($"{MappedTo} PadSettingChecksum: {oldChecksum} => {newChecksum}");
             // Time to save settings by notifying that it changed.
             SettingsManager.Current.SavePadSetting(CurrentUserSetting, CurrentPadSetting);
             //OnSettingChanged?.Invoke(this, new EventArgs<UserSetting>(CurrentUserSetting));
         }
     }
 }