Exemplo n.º 1
0
    // Uses the neighbours given to the node to generate edges
    public void ManualEdgeCreation()
    {
        foreach (GameObject node in neighbours)
        {
            NodeScript neighbourNode = node.GetComponent <NodeScript>();

            //don't add edge if already exists
            if (node != null && node != this && this.FindEdgeTo(neighbourNode) == null)
            {
                EdgeScript edge = new EdgeScript(this, neighbourNode);
                edge.SetCost((node.transform.position - this.transform.position).magnitude);

                edges.Add(edge);
            }
        }
    }
Exemplo n.º 2
0
    // Generate edges for auto grid generation
    public void GenerateEdges()
    {
        Collider[] neighbourNodes = Physics.OverlapBox(transform.position, transform.localScale);

        foreach (Collider nodeCollider in neighbourNodes)
        {
            NodeScript node = nodeCollider.gameObject.GetComponent <NodeScript>();

            if (node != null && node != this)
            {
                EdgeScript edge = new EdgeScript(this, node);
                edge.SetCost((node.transform.position - this.transform.position).magnitude);

                edges.Add(edge);
            }
        }
    }