Пример #1
0
        public MasteryViewModel(IBackgroundWorkerService backgroundWorkerService, ISettings settings)
        {
            _backgroundWorkerService = backgroundWorkerService;
            _settings = settings;

            Progress = new ProgressFieldViewModel {
                Label = String.Empty
            };
            DialogTitle = "Mastery Analyzer";
            CanClose    = true;

            Snapshot = new GameDataSnapshotViewModel(Progress, backgroundWorkerService, settings);
            Snapshot.DataRefreshed += Snapshot_DataRefreshed;

            Results = new ObservableCollection <MasteryStats>();

            RefreshCommand   = new DelegateCommand(RefreshGames);
            ExportCommand    = new DelegateCommand(Export);
            SummarizeCommand = new DelegateCommand(Summarize);

            OpenGameCommand = new DelegateCommand <Result>(OpenGame);

            AddPropertyChangedHandler(DialogResultProperty, OnDialogResultPropertyChanged);
        }
Пример #2
0
        public ConditionsAnalyzerViewModel(IBackgroundWorkerService backgroundWorkerService, ISettings settings)
        {
            _backgroundWorkerService = backgroundWorkerService;
            _settings = settings;

            Progress = new ProgressFieldViewModel {
                Label = String.Empty
            };
            DialogTitle = "Conditions Analyzer";
            CanClose    = true;

            Snapshot = new GameDataSnapshotViewModel(Progress, backgroundWorkerService, settings);

            NumConditions = new RangeFilterFieldViewModel("Number of Conditions");
            NumAltGroups  = new RangeFilterFieldViewModel("Number of Alt Groups");

            var flagLookup = new[]
            {
                new LookupItem(-1, "Any"),
                new LookupItem((int)RequirementType.None, "None"),
                new LookupItem((int)RequirementType.ResetIf, "ResetIf"),
                new LookupItem((int)RequirementType.PauseIf, "PauseIf"),
                new LookupItem((int)RequirementType.AddHits, "AddHits"),
                new LookupItem((int)RequirementType.SubHits, "SubHits"),
                new LookupItem((int)RequirementType.AddSource, "AddSource"),
                new LookupItem((int)RequirementType.SubSource, "SubSource"),
                new LookupItem((int)RequirementType.AddAddress, "AddAddress"),
                new LookupItem((int)RequirementType.ResetNextIf, "ResetNextIf"),
                new LookupItem((int)RequirementType.Trigger, "Trigger"),
                new LookupItem((int)RequirementType.AndNext, "AndNext"),
                new LookupItem((int)RequirementType.OrNext, "OrNext"),
                new LookupItem((int)RequirementType.Measured, "Measured"),
                new LookupItem((int)RequirementType.MeasuredPercent, "MeasuredPercent"),
                new LookupItem((int)RequirementType.MeasuredIf, "AddHits"),
            };

            var typeLookup = new[]
            {
                new LookupItem(-1, "Any"),
                new LookupItem((int)FieldType.MemoryAddress, "Mem"),
                new LookupItem((int)FieldType.PreviousValue, "Delta"),
                new LookupItem((int)FieldType.PriorValue, "Prior"),
                new LookupItem((int)FieldType.Value, "Value"),
            };

            var comparisonLookup = new[]
            {
                new LookupItem(-1, "Any"),
                new LookupItem((int)RequirementOperator.Equal, "=="),
                new LookupItem((int)RequirementOperator.NotEqual, "!="),
                new LookupItem((int)RequirementOperator.LessThan, "<"),
                new LookupItem((int)RequirementOperator.LessThanOrEqual, "<="),
                new LookupItem((int)RequirementOperator.GreaterThan, ">"),
                new LookupItem((int)RequirementOperator.GreaterThanOrEqual, ">="),
                new LookupItem((int)RequirementOperator.Multiply, "*"),
                new LookupItem((int)RequirementOperator.Divide, "/"),
                new LookupItem((int)RequirementOperator.BitwiseAnd, "&"),
            };

            Flag = new LookupFieldViewModel("Flag", flagLookup)
            {
                SelectedId = -1
            };
            SourceType = new LookupFieldViewModel("Source Type", typeLookup)
            {
                SelectedId = -1
            };
            SourceValue = new RangeFilterFieldViewModel("Source Value");
            Comparison  = new LookupFieldViewModel("Comparison", comparisonLookup)
            {
                SelectedId = -1
            };
            TargetType = new LookupFieldViewModel("Target Type", typeLookup)
            {
                SelectedId = -1
            };
            TargetValue = new RangeFilterFieldViewModel("Target Value");
            HitCount    = new RangeFilterFieldViewModel("Hit Count");

            Results         = new ObservableCollection <Result>();
            SearchCommand   = new DelegateCommand(Search);
            ExportCommand   = new DelegateCommand(Export);
            OpenGameCommand = new DelegateCommand <Result>(OpenGame);
            OpenItemCommand = new DelegateCommand <Result>(OpenItem);

            AddPropertyChangedHandler(DialogResultProperty, OnDialogResultPropertyChanged);
        }