public VisualizationUpdateCollector([NotNull] ICompetitionRunVisualizer source) { Guard.NotNull(source, nameof(source)); this.source = source; }
public CompetitionClassController([NotNull] Func<NetworkHealthReport> healthNeededCallback, [NotNull] ClockSynchronizationMonitor clockSynchronizationMonitor, [NotNull] ICompetitionRunVisualizer runVisualizer) { Guard.NotNull(healthNeededCallback, nameof(healthNeededCallback)); Guard.NotNull(clockSynchronizationMonitor, nameof(clockSynchronizationMonitor)); Guard.NotNull(runVisualizer, nameof(runVisualizer)); networkHealthNeededCallback = healthNeededCallback; synchronizationMonitor = clockSynchronizationMonitor; visualizer = runVisualizer; clockSynchronizationMonitor.SyncRecommended += ClockSynchronizationMonitorOnSyncRecommended; clockSynchronizationMonitor.SyncRequired += ClockSynchronizationMonitorOnSyncRequired; clockSynchronizationMonitor.SyncCompleted += ClockSynchronizationMonitorOnSyncCompleted; runData.EliminationTracker.EliminationChanged += EliminationTrackerOnEliminationChanged; runData.EliminationTracker.RefusalCountChanged += EliminationTrackerOnRefusalCountChanged; modelSnapshot = CacheManager.DefaultInstance.ActiveModel; }