Beispiel #1
0
    public override void GenerateGraphConections()
    {
        //Debug.Log("Num nodos: " + testNodes.Count);



        nodePositions = new Dictionary <Vector3, TestNode>();
        foreach (TestNode node in testNodes)
        {
            if (!nodePositions.ContainsKey(node.Position))
            {
                nodePositions.Add(node.Position, node);
            }
            nodes.Add(node);
        }



        connections = new List <PathfindingConnection>();
        foreach (ConnectionView conn in connectionViews)
        {
            TestConnection testConnection = new TestConnection(conn.lineRenderer, false, Color.white, Color.green);

            TestNode node1 = nodePositions[conn.startPosition];
            TestNode node2 = nodePositions[conn.endPosition];

            if (!node1.ConnectionDictionary.ContainsKey(node2))
            {
                node1.ConnectionDictionary.Add(node2, testConnection);
            }
            if (!node2.ConnectionDictionary.ContainsKey(node1))
            {
                node2.ConnectionDictionary.Add(node1, testConnection);
            }

            testConnection.ConnectNodes(node1, node2);
            connections.Add(testConnection);
            testConnection.view = conn;
        }
    }