public TrafficSegmentSituation(ITrafficSegmentConfigurator configurator, TrafficSegmentConfiguration segmentConfiguration) { _configurator = configurator; _configuration = segmentConfiguration; UpdateSituation(segmentConfiguration); if (configurator != null) { configurator.ConfigurationUpdated += Configurator_ConfigurationUpdated; } }
private void UpdateSituation(TrafficSegmentConfiguration configuration) { _configuration = configuration; ResetToNormal(); MaxSpeed = configuration.MaxSpeed; MinSpeed = configuration.MinSpeed; AverageCarsPerMinute = configuration.AverageCarsPerMinute; SpeedingPercentage = configuration.SpeedingPercentage; SpeedLimit = configuration.SpeedLimit; RushHours = configuration.RushHours; _currentEvent = EventType.None; _currentTrend = TrafficTrend.None; }
protected virtual void OnConfigurationChanged(TrafficSegmentConfiguration e) { ConfigurationUpdated?.Invoke(this, e); }
private void Configurator_ConfigurationUpdated(object sender, TrafficSegmentConfiguration e) { UpdateSituation(e); }