コード例 #1
0
 /// <summary>
 /// Add custom settings passed as parameter to SettingsList and init this settings.
 /// </summary>
 /// <param name="customSettings"></param>
 public static void AddAndInitCustomSettingsTab(ProtoSettings customSettings)
 {
     SettingsList.Add(customSettings);
     SettingsList.Sort((s1, s2) =>
                       s1.Order == s2.Order
         ? s1.Name.CompareTo(s2.Name)
         : s1.Order.CompareTo(s2.Order));
     customSettings.InitSettings();
 }
コード例 #2
0
ファイル: OptionCheckBox.cs プロジェクト: aienabled/Automaton
 public OptionCheckBox(
     ProtoSettings parentSettings,
     string id,
     string label,
     bool defaultValue,
     Action <bool> valueChangedCallback,
     string toolTip = "")
     : base(parentSettings, id, defaultValue, valueChangedCallback)
 {
     Label   = label;
     ToolTip = toolTip;
 }
コード例 #3
0
ファイル: OptionTextBox.cs プロジェクト: Djekke/Automaton
 public OptionTextBox(
     ProtoSettings parentSettings,
     string id,
     string label,
     TValue defaultValue,
     Action <TValue> valueChangedCallback,
     string toolTip = "")
     : base(parentSettings, id, defaultValue, valueChangedCallback)
 {
     Label   = label;
     ToolTip = toolTip;
     optionTextBoxValueHolder = new OptionTextBoxValueHolder(this, defaultValue);
     optionValueHolder        = optionTextBoxValueHolder;
 }
コード例 #4
0
ファイル: OptionSlider.cs プロジェクト: xobotun/Automaton
 public OptionSlider(
     ProtoSettings parentSettings,
     string id,
     string label,
     double defaultValue,
     Action <double> valueChangedCallback,
     double minValue = 0.0,
     double stepSize = 0.05,
     double maxValue = 1.0,
     string toolTip  = "")
     : base(parentSettings, id, defaultValue, valueChangedCallback)
 {
     Label    = label;
     ToolTip  = toolTip;
     MinValue = minValue;
     MaxValue = maxValue;
     StepSize = stepSize;
 }
コード例 #5
0
 public OptionEntityList(
     ProtoSettings parentSettings,
     string id,
     IEnumerable <IProtoEntity> entityList,
     List <string> defaultEnabledList,
     Action <List <IProtoEntity> > onEnabledListChanged)
 {
     this.parentSettings = parentSettings;
     Id = id;
     this.defaultEnabledList = defaultEnabledList;
     EntityDictionary        = new Dictionary <IProtoEntity, bool>();
     foreach (var entity in entityList)
     {
         EntityDictionary[entity] = (defaultEnabledList?.Count > 0) && defaultEnabledList.Contains(entity.Id);
     }
     OnEnabledListChanged = onEnabledListChanged;
     optionValueHolder    = new OptionValueHolder(this, EntityDictionary);
 }
コード例 #6
0
        public ViewModelSettings(ProtoSettings owner)
        {
            this.owner  = owner;
            Name        = owner.Name;
            Description = owner.Description;
            owner.OnIsModifiedChanged += OnIsModifiedChanged;
            if (owner is SettingsFeature settingsFeature)
            {
                IsEnabled = settingsFeature.IsEnabled;
                settingsFeature.IsEnabledChanged += OnIsEnabledChanged;
            }

            OptionsControls = new ObservableCollection <FrameworkElement>();
            foreach (var option in owner.Options)
            {
                option.CreateControl(out var optionControl);
                OptionsControls.Add(optionControl);
            }
        }