private void InitializeCommands(HudStatSettingsViewModelInfo viewModelInfo) { SaveCommand = ReactiveCommand.Create(() => viewModelInfo.Save?.Invoke()); CancelCommand = ReactiveCommand.Create(() => viewModelInfo.Cancel?.Invoke()); SelectColorCommand = ReactiveCommand.Create <StatInfoOptionValueRange>(x => SelectColor(x)); PickerSelectColorCommand = ReactiveCommand.Create(() => IsColorPickerPopupOpened = false); ResetRangeColorsCommand = ReactiveCommand.Create(() => SelectedItem?.Initialize()); }
private void Initialize(HudStatSettingsViewModelInfo viewModelInfo) { Check.ArgumentNotNull(() => viewModelInfo); var clonedItems = viewModelInfo.SelectedStatInfoCollection.Where(x => !(x is StatInfoBreak) && x.Stat != Stat.PlayerInfoIcon).Select(x => x.Clone()).ToArray(); if (viewModelInfo.SelectedStatInfo != null) { var clonedSelectedItem = clonedItems.FirstOrDefault(x => x.Id == viewModelInfo.SelectedStatInfo.Id); if (clonedSelectedItem != null) { selectedItem = clonedSelectedItem; } } else { selectedItem = clonedItems.FirstOrDefault(); } HudOpacity = viewModelInfo.HudOpacity; items = new ObservableCollection <StatInfo>(clonedItems); filterTableTypes = new ReactiveList <TableTypeFilterViewModel>(Enum.GetValues(typeof(EnumTableType)) .Cast <EnumTableType>() .Select(x => new TableTypeFilterViewModel(x) { IsSelected = viewModelInfo.SelectedTableTypes != null && viewModelInfo.SelectedTableTypes.Contains(x) })); filterTableTypes.ChangeTrackingEnabled = true; filterTableTypes.ItemChanged.Subscribe(x => { if (x.PropertyName == nameof(TableTypeFilterViewModel.IsSelected)) { RaisePropertyChanged(() => TableTypeFilterText); } }); dataFreshnessItems = new ObservableCollection <HudStatsDataFreshness>(Enum.GetValues(typeof(HudStatsDataFreshness)) .Cast <HudStatsDataFreshness>()); DataFreshness = viewModelInfo.DataFreshness; InitializeCommands(viewModelInfo); this.ObservableForProperty(x => x.SelectedColor).Subscribe(x => { if (selectedStatInfoOptionValueRange != null) { selectedStatInfoOptionValueRange.Color = x.Value; } }); }
public HudStatSettingsViewModel(HudStatSettingsViewModelInfo viewModelInfo) { Initialize(viewModelInfo); }