Example #1
0
 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]);
        }
Example #6
0
 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);
            }
        }