Ejemplo n.º 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));
     }
 }
Ejemplo n.º 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;
                }
            }
        }
Ejemplo n.º 3
0
 public void Visit(IJourneyVisitor visitor)
 {
     visitor.Visit(this);
 }
Ejemplo n.º 4
0
 internal void Visit(IJourneyVisitor visitor)
 {
     _route.Replay(visitor);
 }