/// <summary> /// Returns true if the edge is traversable. /// </summary> /// <param name="edgeInterpreter"></param> /// <param name="tagsIndex"></param> /// <param name="tags"></param> /// <returns></returns> protected override bool CalculateIsTraversable(IEdgeInterpreter edgeInterpreter, ITagsIndex tagsIndex, TagsCollection tags) { if (_vehicles.Count > 0) { // limit only to vehicles in this list. foreach (Vehicle vehicle in _vehicles) { if (vehicle.CanTraverse(tags)) { // one of them is enough. return(true); } } return(false); } return(edgeInterpreter.IsRoutable(tags)); }
/// <summary> /// Returns true if the edge is traversable. /// </summary> /// <param name="edgeInterpreter"></param> /// <param name="tagsIndex"></param> /// <param name="tags"></param> /// <returns></returns> protected override bool CalculateIsTraversable(IEdgeInterpreter edgeInterpreter, ITagsIndex tagsIndex, TagsCollection tags) { return(edgeInterpreter.IsRoutable(tags)); }