Ejemplo n.º 1
0
        private int?TryGetLapNumberAtCrossedAtTime(Time time, eCrossedAtLapBehavior behavior)
        {
            int?ret = null;

            try
            {
                ret = GetLapNumberAtCrossedAtTime(time, behavior);
            }
            catch
            {
                ret = null;
            }
            return(ret);
        }
Ejemplo n.º 2
0
        private int GetLapNumberAtCrossedAtTime(Time time, eCrossedAtLapBehavior behavior)
        {
            Time currentFirstTime;

            for (int i = 1; i < this.Positions.LapCount; i++)
            {
                currentFirstTime = this.Positions[i][0].CrossedAtTime;
                if (time < currentFirstTime)
                {
                    if (behavior == eCrossedAtLapBehavior.FirstLapAfter)
                    {
                        return(i);
                    }
                    else
                    {
                        return(i - 1);
                    }
                }
            }
            throw new ApplicationException("No lap found for time " + time);
        }