private void OnUpdateTimes(object sender, UpdateTimesEventArgs args) { if (HeatSession) { var lane = args.Lane; var time = TimeSpan.FromMilliseconds(args.Time); var racer = CurrentRacers.Find(i => i.CurrentLane == lane); if (racer != null) { racer.LapTimes.Insert(0, time); if (racer.BestLapTime > time) { racer.BestLapTime = time; } racer.LapCount++; var sortedRacers = _race.Racers.OrderByDescending(i => i.LapCount).ToList(); for (var i = 0; i < sortedRacers.Count; i++) { _race.Racers.First(x => x.Name == sortedRacers[i].Name).Position = i + 1; } if (_race.RaceId > 0) { SendDataToWeb(); } } } }
private void OnUpdateTimes(object sender, UpdateTimesEventArgs args) { var index = args.Lane - 1; var time = TimeSpan.FromMilliseconds(args.Time); _freePractice.LanesData[index].LapTimes.Insert(0, time); if (_freePractice.LanesData[index].BestLapTime > time) { _freePractice.LanesData[index].BestLapTime = time; } _freePractice.LanesData[index].LapCount++; }