public void Visit(TimedTelemetrySnapshot timedTelemetrySnapshot) { if (timedTelemetrySnapshot.SimulatorSourceInfo.TelemetryInfo.ContainsSlipInformation) { return; } string carName = timedTelemetrySnapshot.PlayerData.CarName; lock (_lockObject) { if (string.IsNullOrWhiteSpace(_currentCarName) || _currentCarName != carName) { _currentCarName = carName; _carModelProperties = _carSpecificationProvider.GetCarModelProperties(_simulator, carName); } } if (_carModelProperties == null) { return; } ComputeSlip(timedTelemetrySnapshot, timedTelemetrySnapshot.PlayerData.CarInfo.WheelsInfo.FrontLeft, true); ComputeSlip(timedTelemetrySnapshot, timedTelemetrySnapshot.PlayerData.CarInfo.WheelsInfo.FrontRight, true); ComputeSlip(timedTelemetrySnapshot, timedTelemetrySnapshot.PlayerData.CarInfo.WheelsInfo.RearLeft, false); ComputeSlip(timedTelemetrySnapshot, timedTelemetrySnapshot.PlayerData.CarInfo.WheelsInfo.RearRight, false); timedTelemetrySnapshot.SimulatorSourceInfo.TelemetryInfo.ContainsSlipInformation = true; }
private void UpdateCarSettingsWindowViewModel() { CarModelProperties playersCarProperties = _simSettingAdapter.LastUsedCarProperties; CarModelPropertiesViewModel playerCarsViewModel = new CarModelPropertiesViewModel(); playerCarsViewModel.FromModel(playersCarProperties); _carSettingsWindowViewModel.CarModelPropertiesViewModel = playerCarsViewModel; TyreCompoundProperties lastUsedTyre = _simSettingAdapter.LastUsedCompound; ObservableCollection <TyreCompoundPropertiesViewModel> tyreSettingsViewModels = new ObservableCollection <TyreCompoundPropertiesViewModel>(); playerCarsViewModel.TyreCompoundsProperties.ForEach(x => tyreSettingsViewModels.Add(x)); foreach (TyreCompoundProperties globalTyreCompoundsProperty in _simSettingAdapter.GlobalTyreCompoundsProperties) { TyreCompoundPropertiesViewModel viewModel = new TyreCompoundPropertiesViewModel(); viewModel.FromModel(globalTyreCompoundsProperty); viewModel.IsGlobalCompound = true; tyreSettingsViewModels.Add(viewModel); } _carSettingsWindowViewModel.TyreSettingsViewModels = tyreSettingsViewModels; _carSettingsWindowViewModel.SelectedTyreSettingsViewModel = tyreSettingsViewModels.First(x => x.CompoundName == lastUsedTyre.CompoundName); }