private async Task InitializeInjectorModeAsync() { _mode = ModeType.Injector; _scheduler?.Dispose(); if (_package == null) { _package = await _findLastEditedGamePackageQuery.FindAsync(); _gamePackages = await _findGamesQuery.FindAllAsync(); } _injectionViewModel = new InjectionViewModel(this, _package); _scheduler = new BlockingScheduler(() => _runner.Run(async() => await EstimateInjectorStateAsync(true)), TaskInterval); PluginViewModel = new PluginViewModel( _pluginFactory.Create(_package), _publisher, _navigationService, _componentViewModelFactory); await EstimateInjectorStateAsync(); Validate(); EditPluginMainSettings(); StartScheduler(); }
private async Task InitializeCommunicatorModeAsync() { _mode = ModeType.Communicator; _injectionViewModel = new CollectDataViewModel(); _scheduler?.Dispose(); _scheduler = new BlockingScheduler(() => _runner.Run(async() => await EstimateCommunicatorStateAsync(true)), TaskInterval); await EstimateCommunicatorStateAsync(); StartScheduler(); }