Пример #1
0
 /// <summary>
 /// Create a new MapPath object from a graph search node series.
 /// </summary>
 /// <param name="path">Graph search node containing path node series.</param>
 public MapPath(IGraphSearchNode<MapFeature> path)
 {
     this.pathNodes = new List<IGraphSearchNode<MapFeature>>();
     this.endNode = path;
     IGraphSearchNode<MapFeature> pathNode = path;
     while (pathNode != null)
     {
         this.pathNodes.Add(pathNode);
         if (pathNode.PreviousNode == null)
             this.endNode = pathNode;
         pathNode = (IGraphSearchNode<MapFeature>) pathNode.PreviousNode;
     }
 }
Пример #2
0
        /// <summary>
        /// Create a new MapPath object from a graph search node series.
        /// </summary>
        /// <param name="path">Graph search node containing path node series.</param>
        public MapPath(IGraphSearchNode <MapFeature> path)
        {
            this.pathNodes = new List <IGraphSearchNode <MapFeature> >();
            this.endNode   = path;
            IGraphSearchNode <MapFeature> pathNode = path;

            while (pathNode != null)
            {
                this.pathNodes.Add(pathNode);
                if (pathNode.PreviousNode == null)
                {
                    this.endNode = pathNode;
                }
                pathNode = (IGraphSearchNode <MapFeature>)pathNode.PreviousNode;
            }
        }
Пример #3
0
 // Auto-fail condition delegate.
 private bool PivotAtWalls(IGraphSearchNode <MapFeature> node)
 {
     return(node.Element == MapFeature.Wall);
 }
Пример #4
0
 // Match condition delegate.
 private bool IsEndpoint(IGraphSearchNode <MapFeature> node)
 {
     return(node.Element == MapFeature.End);
 }
Пример #5
0
 // Auto-fail condition delegate.
 private bool PivotAtWalls(IGraphSearchNode<MapFeature> node)
 {
     return node.Element == MapFeature.Wall;
 }
Пример #6
0
 // Match condition delegate.
 private bool IsEndpoint(IGraphSearchNode<MapFeature> node)
 {
     return node.Element == MapFeature.End;
 }