Example #1
0
 public static void Add(CompletedLap completedLap)
 {
     if (Laps.FirstOrDefault(l => l.FileName == completedLap.Pathname()) == null)
     {
         // New Lap. Save to disk
         Directory.CreateDirectory(BS(baseDir) + completedLap.Dirname());
         if (!File.Exists(BS(baseDir) + completedLap.Pathname()))
         {
             completedLap.Save(baseDir);
             Laps.Add(
                 new LapInfo()
             {
                 CarNumber   = completedLap.playerInfo.raceNumber.ToString(),
                 CircuitName = Constants.TrackList.First(t => t.id == completedLap.circuitInfo.trackId)?.name,
                 FileName    = completedLap.FileName(),
                 LapTime     = completedLap.lap.lapTime,
                 PlayerName  = PacketHelper.GetString(completedLap.playerInfo.name, 48),
                 SessionType = Constants.SessionTypeList.First(t => t.id == completedLap.circuitInfo.sessionType)?.name,
                 TeamName    = Constants.TeamList.First(t => t.id == completedLap.playerInfo.teamId)?.name,
                 Tyre        = "?", // Packet type Car Status not handled yet
                 Details     = completedLap
             });
             SaveDictionary();
         }
     }
 }