Ejemplo n.º 1
0
 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());
 }
Ejemplo n.º 2
0
        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;
                }
            });
        }
Ejemplo n.º 3
0
 public HudStatSettingsViewModel(HudStatSettingsViewModelInfo viewModelInfo)
 {
     Initialize(viewModelInfo);
 }