public virtual void AddLap(LapRecord lr) { Laps.Add(lr); OrderedLaps.Add(lr); OrderedLaps.Sort(); UpdateTimes(); RecalculateMeanOfLapTimes(); }
public override void AddLap(LapRecord lr) { base.AddLap(lr); if (Laps.Count > 1 && Laps[Laps.Count - 2].IsPitted) { EvaluatePit(); } }
/// <summary> /// Converts the domain model into an entity. /// </summary> /// <returns>The entity.</returns> /// <param name="model">LapRecord.</param> internal static LapRecordEntity ToEntity(this LapRecord model) { LapRecordEntity entity = new LapRecordEntity { PlayerName = model.PlayerName.PadRight(8, '\t').Substring(0, 8), CarId = (short)model.Car, Time = (int)(model.Time * 16384), RaceType = (short)model.RaceType }; return(entity); }
/// <summary> /// Converts the entity into a domain model. /// </summary> /// <returns>The domain model.</returns> /// <param name="lapRecordEntity">LapRecord entity.</param> internal static LapRecord ToDomainModel(this LapRecordEntity lapRecordEntity) { LapRecord lapRecord = new LapRecord { PlayerName = lapRecordEntity.PlayerName, Car = (CarType)lapRecordEntity.CarId, Time = (float)RoundDown((float)lapRecordEntity.Time / 16384, 2), RaceType = (RaceType)lapRecordEntity.RaceType }; return(lapRecord); }
private LapRecord GetLapFromEndWithoutPit(int indexFromBackward) { int lapIndex = base.Laps.Count - PitInfo.PitCount * (indexFromBackward + 1) - 1; if (lapIndex < 0) { return(LapRecord.GetEmpty()); } if (lapIndex >= base.Laps.Count) { return(LapRecord.GetEmpty()); } return(OrderedLaps[lapIndex]); }
public static LapRecord GetLapRecordOrEmpty(LapRecordCollection laps, int index) { if (index < 0) { return(LapRecord.GetEmpty()); } if (laps.Count > index) { return(laps[index]); } else { return(LapRecord.GetEmpty()); } }
public static void Update(LapCrossing lc, Standing target) { Contract.Requires(lc.CarIdx == target.Driver.CarIdx, "CarIDx differs!"); var previousLapCrossing = target.LastLapCrossing; // musi byt tady nahore pred tim, nez se prida dalsi kolo do kolekce kol // protoze se to podle toho tridi // taky jsem si to musel ulozit pro pozdejsi pouziti (tu puvodni hodnotu) target.LastLapCrossing = lc.CrossedAt; if (previousLapCrossing.HasValue) { double diff = lc.CrossedAt - previousLapCrossing.Value; LapRecord lr = new LapRecord(diff, lc.LapNum, lc.CrossedAt, (LapRecord.eFlag)lc.Flags); target.AddLap(lr); } }