Пример #1
0
        public static bool IsIntersectionReached(this Vehicle vehicle, out TramIntersection intersection)
        {
            var node1 = vehicle.Position.Node1;
            var node2 = vehicle.Position.Node2;

            if (node1 != null && node1.Type == NodeType.TramCross && !node1.Intersection.Equals(vehicle.LastIntersection))
            {
                intersection = node1.Intersection;
                return(true);
            }
            else if (node2 != null && node2.Type == NodeType.TramCross && !node2.Intersection.Equals(vehicle.LastIntersection))
            {
                intersection = node2.Intersection;
                return(true);
            }

            intersection = null;
            return(false);
        }
Пример #2
0
 private void DequeueIntersection(TramIntersection intersection)
 {
     intersection.CurrentVehicle = intersection.Vehicles.Any() ? intersection.Vehicles.Dequeue() : null;
 }