private void SetupClassButton_Click([CanBeNull] object sender, [NotNull] EventArgs e) { using (var form = new ClassSetupForm()) { if (form.ShowDialog() == DialogResult.OK) { Requirements = Requirements.ChangeIntermediateTimerCount( CacheManager.DefaultInstance.ActiveModel.IntermediateTimerCount) .ChangeStartFinishMinDelayForSingleSensor( CacheManager.DefaultInstance.ActiveModel.StartFinishMinDelayForSingleSensor); healthMonitor.ForceChanged(); ApplyModelChangesToDisplayForms(); } } }
public void StartClass([NotNull] CompetitionClassRequirements requirements) { Guard.NotNull(requirements, nameof(requirements)); Log.Debug("Entering StartClass."); ExecuteExclusiveIfStateIn(CompetitionClassState.Offline, () => { modelSnapshot = CacheManager.DefaultInstance.ActiveModel; currentCompetitorNumber = modelSnapshot.GetBestStartingCompetitorNumber(); nextCompetitorNumberTyped = null; nextCompetitorNumberGenerated = modelSnapshot.GetBestNextCompetitorNumberOrNull(currentCompetitorNumber); classRequirements = requirements; runData.Reset(false); SetState(CompetitionClassState.SetupCompleted); using (var collector = new VisualizationUpdateCollector(visualizer)) { collector.Include(VisualizationChangeFactory.ClearAll()); collector.Include(new ClassInfoUpdate(modelSnapshot.ClassInfo)); UpdateCurrentCompetitorVisualization(collector); UpdateNextCompetitorVisualization(collector); CompetitionRunResult previousCompetitorOrNull = modelSnapshot.GetLastCompletedOrNull(); collector.Include(new PreviousCompetitorRunUpdate(previousCompetitorOrNull)); IReadOnlyCollection<CompetitionRunResult> rankings = modelSnapshot.FilterCompletedAndSortedAscendingByPlacement().Results; collector.Include(new RankingsUpdate(rankings)); } }); }
private void MainForm_Load([CanBeNull] object sender, [NotNull] EventArgs e) { LoadSettings(); Requirements = Requirements.ChangeIntermediateTimerCount( CacheManager.DefaultInstance.ActiveModel.IntermediateTimerCount) .ChangeStartFinishMinDelayForSingleSensor( CacheManager.DefaultInstance.ActiveModel.StartFinishMinDelayForSingleSensor); ApplyModelChangesToDisplayForms(); sessionManager.Component.Start(); }