Beispiel #1
0
 private void DriveBetweenEvents(IJourneyVisitor visitor, IJourneyEvent previous, IJourneyEvent current)
 {
     if (previous == null)
     {
         return;
     }
     if (previous.Point < current.Point)
     {
         visitor.Visit(CreateDrive(previous, current));
     }
 }
Beispiel #2
0
        public void Replay(IJourneyVisitor visitor)
        {
            IJourneyEvent previousEvent = null;

            using (var events = _events.GetEnumerator())
            {
                while (events.MoveNext())
                {
                    var currentEvent = events.Current;
                    DriveBetweenEvents(visitor, previousEvent, currentEvent);
                    currentEvent.Visit(visitor);
                    previousEvent = currentEvent;
                }
            }
        }
Beispiel #3
0
 private Drive CreateDrive(IJourneyEvent last, IJourneyEvent current)
 {
     return(new Drive(new RouteDistance(last.Point, current.Point)));
 }