Esempio n. 1
0
        public void Draw(WaypointNodeFinder nodeFinder, WayPoint[] waypoints, GameObject illustratorChild)
        {
            visitedIDs = new HashSet <int>();

            foreach (var waypoint in waypoints)
            {
                if (!visitedIDs.Contains(waypoint.gameObject.GetInstanceID()))
                {
                    var node = nodeFinder.FindAdapter(waypoint);
                    Traverse(node);
                }
            }

            graphIllustration = new GameObject("GraphIllustrator");

            foreach (var edge in edges)
            {
                var child        = Object.Instantiate(illustratorChild);
                var lineRenderer = child.GetComponent <LineRenderer>();

                var vectors = new Vector3[2];
                vectors[0] = new Vector3(edge.NodeA.X, edge.NodeA.Y);
                vectors[1] = new Vector3(edge.NodeB.X, edge.NodeB.Y);
                lineRenderer.SetPositions(vectors);
                lineRenderer.sortingOrder = -1;
                child.transform.parent    = graphIllustration.transform;
            }
        }
Esempio n. 2
0
        public override List <IGraphNode> FindNeighbors()
        {
            if (neighbors != null)
            {
                return(neighbors);
            }

            neighbors = new List <IGraphNode>();
            foreach (var waypointPercent in waypoint.outs)
            {
                neighbors.Add(nodeFinder.FindAdapter(waypointPercent.waypoint));
            }
            return(neighbors);
        }