Esempio n. 1
0
    private void TraverseNextEdge()
    {
        if (PathToFollow == null)
        {
            return;
        }

        ////TODO: probably should add NextEdge method to Path class
        PathEdge edgeToFollow = PathToFollow.Dequeue();

        if (edgeToFollow == null)
        {
            return;
        }

        if (PathToFollow.IsEmpty) // last edge
        {
            edgeTraverser.Traverse(
                edgeToFollow,
                BrakeOnFinalApproach,
                StopOnFinalArrival);
        }
        else
        {
            edgeTraverser.Traverse(
                edgeToFollow,
                BrakeOnEachApproach,
                StopOnEachArrival);
        }
    }