Beispiel #1
0
    void displayVertices()
    {
        baseGraphData baseGraph = new baseGraphData();

        baseGraph.size = this.size;

        for (int i = 0; i < size; i++)
        {
            for (int j = 0; j < size; j++)
            {
                GameObject vertex = Instantiate(vertexGO, new Vector3(transform.position.x + j, transform.position.y - i, 0), Quaternion.identity);
                vertex.name             = graphNo + " - " + i + "," + j;
                vertex.transform.parent = gameObject.transform;
                vertexScript vs = vertex.GetComponent <vertexScript>();
                if ((graphNo == 1) && (i == 0 || i == size - 1 || j == 0 || j == size - 1))
                {
                    if (!startingPointSet && UnityEngine.Random.Range(0f, 1f) <= 0.5f)
                    {
                        vs.setStartingPoint(true);
                        startingPointSet    = true;
                        startingPointGO     = vs.gameObject;
                        startingPoingScript = vs;
                    }
                    borderVertices.Add(vs);
                }
                vs.setName(vertexNumbering);
                vertexNumbering++;
            }
        }
    }
Beispiel #2
0
    public IEnumerator exportBaseGraphData()
    {
        yield return(new WaitForSeconds(1));

        baseGraphData baseGraph = new baseGraphData();

        baseGraph.size = this.size;

        GameObject[] vertexGOs = new GameObject[transform.childCount];

        //vertexGOs = GameObject.FindGameObjectsWithTag("vertex");
        for (int i = 0; i < transform.childCount; i++)
        {
            vertexGOs[i] = transform.GetChild(i).gameObject;
        }

        foreach (GameObject vertex in vertexGOs)
        {
            vertexData   vertexData = new vertexData();
            vertexScript vs         = vertex.GetComponent <vertexScript>();
            GameObject[] edgeGOs    = new GameObject[vertex.transform.childCount];
            //Debug.Log("This vertex has " + vertex.transform.childCount + " children");

            for (int i = 0; i < vertex.transform.childCount; i++)
            {
                edgeGOs[i] = vertex.transform.GetChild(i).gameObject;
            }

            bool[] activeEdges = new bool[8];

            for (int j = 0; j < edgeGOs.Length - 1; j++)
            {
                //Debug.Log("J - " + j + ", edgesGOs Length - " + edgeGOs.Length);
                if (edgeGOs[j].GetComponent <MeshRenderer>().enabled == true)
                {
                    if (vs.isEdgeConnected(edgeGOs[j].GetComponent <edgeScript>()) != -1)
                    {
                        activeEdges[vs.isEdgeConnected(edgeGOs[j].GetComponent <edgeScript>())] = true;
                    }
                }
            }

            vertexData.setVertexData(vs.getPos(), activeEdges, vs.getStartingPoint(), vs.getObjectivePoint());
            baseGraph.addVertex(vertexData);
        }

        string baseGraphString = JsonUtility.ToJson(baseGraph);

        DirectoryInfo dir = new DirectoryInfo("Assets/baseGraphJSONs/");

        FileInfo[] fileInfo = dir.GetFiles();

        System.IO.File.WriteAllText("Assets/baseGraphJSONs/BaseGraphData" + fileInfo.Count() + ".json", baseGraphString);
        baseGraphString = "";
        baseGraph.clear();
    }
Beispiel #3
0
 void initVertices()
 {
     for (int i = 0; i < size; i++)
     {
         for (int j = 0; j < size; j++)
         {
             vertexScript v = vertexGO.GetComponent <vertexScript>();
             v.setActive(true);
             vertices.Add(v);
         }
     }
 }
Beispiel #4
0
    // void connectEdgesAndVertices()
    // {
    //     for(int i = 0; i < size; i++)
    //     {
    //         for(int j = 0; j < size; j++)
    //         {
    //             if(vertices[i,j].north == true)
    //             {
    //                 if(!edgeExists(vertices[i,j],vertices[i+1,j]))
    //                 {
    //                     foreach (edgeScript edge in edges)
    //                     {
    //                         if(!edge.isActive())
    //                         {
    //                             //edge.setVertices((i.ToString()+j.ToString()),((i+1).ToString()+j.ToString()));
    //                             edge.setActive(true);
    //                         }
    //                     }
    //                 }
    //             }

    //             if(vertices[i,j].south == true)
    //             {
    //                 if(!edgeExists(vertices[i,j],vertices[i-1,j]))
    //                 {
    //                     foreach (edgeScript edge in edges)
    //                     {
    //                         if(!edge.isActive())
    //                         {
    //                             //edge.setVertices((i.ToString()+j.ToString()),((i-1).ToString()+j.ToString()));
    //                             edge.setActive(true);
    //                         }
    //                     }
    //                 }
    //             }

    //             if(vertices[i,j].west == true)
    //             {
    //                 if(!edgeExists(vertices[i,j],vertices[i,j-1]))
    //                 {
    //                     foreach (edgeScript edge in edges)
    //                     {
    //                         if(!edge.isActive())
    //                         {
    //                             //edge.setVertices((i.ToString()+j.ToString()),(i.ToString()+(j-1).ToString()));
    //                             edge.setActive(true);
    //                         }
    //                     }
    //                 }
    //             }

    //             if(vertices[i,j].east == true)
    //             {
    //                 if(!edgeExists(vertices[i,j],vertices[i,j+1]))
    //                 {
    //                     foreach (edgeScript edge in edges)
    //                     {
    //                         if(!edge.isActive())
    //                         {
    //                             //edge.setVertices((i.ToString()+j.ToString()),(i.ToString()+(j+1).ToString()));
    //                             edge.setActive(true);
    //                         }
    //                     }
    //                 }
    //             }
    //         }
    //     }
    // }

    bool edgeExists(vertexScript a, vertexScript b)
    {
        foreach (edgeScript edge in edges)
        {
            //if(edge.vertexA.ToString()+edge.vertexB.ToString() == a.getvertexNum() || edge.vertexB.ToString()+edge.vertexA.ToString() == a.getvertexNum())
            {
                return(true);
            }
        }

        return(false);
    }
Beispiel #5
0
 void setVertexNames()
 {
     for (int i = 0; i < size; i++)
     {
         for (int j = 0; j < size; j++)
         {
             string       name = graphNo + " - " + i + "," + j;
             GameObject   v    = GameObject.Find(name);
             vertexScript vs   = v.GetComponent <vertexScript>();
             vs.setVertexNum(i, j);
         }
     }
 }
Beispiel #6
0
    void initVertices()
    {
        vertexScript v = vertexGO.GetComponent <vertexScript>();

        for (int i = 0; i < size; i++)
        {
            for (int j = 0; j < size; j++)
            {
                vertices[i, j] = v;
                vertices[i, j].setActive(true);
                //setVertexRule(i,j);
                //vertices[i,j].setVertexNum(i,j);
                //Debug.Log(vertices[i,j].printStatus());
            }
        }
    }
Beispiel #7
0
 void createEdge(int graphNo, int i1, int j1, int i2, int j2, GameObject e, edgeScript es, vertexScript vsA, vertexScript vsB)
 {
     e.name = graphNo + " - [" + i1 + "," + j1 + "]-[" + i2 + "," + j2 + "]";
     //e.SetActive(false);
     e.GetComponent <Renderer>().enabled = false;
     es.setWeight(UnityEngine.Random.Range(1, 101));
     es.setA(vsA.getName());
     es.setB(vsB.getName());
     es.setGraphNo(graphNo);
     //edges[edgesInArray] = es;
     edges.Add(es);
     edgesInArray++;
     vsA.addEdge(es);
 }
Beispiel #8
0
    List <edgeScript> initEdgesFromFile()
    {
        List <edgeScript> edges = new List <edgeScript>();

        string path;

        if (graphNo == 1)
        {
            path = "Assets/vertices1.json";
        }
        else
        {
            path = "Assets/vertices2.json";
        }
        string[]     vertexData;
        int[][]      vertexDataInt;
        StreamReader reader           = new StreamReader(path);
        string       verticesFromFile = reader.ReadToEnd();

        reader.Close();
        verticesFromFile = verticesFromFile.Substring(1, verticesFromFile.Length - 2);
        vertexData       = verticesFromFile.Split(']');

        vertexDataInt = new int[vertexData.Length - 1][];

        for (int i = 0; i < vertexData.Length; i++)
        {
            vertexData[i] = vertexData[i].Trim(' ', ',', '[');

            if (i < vertexData.Length - 1)
            {
                vertexDataInt[i] = stringToInt(vertexData[i]);
            }
        }

        int counter = 0;

        for (int i = 0; i < size; i++)
        {
            for (int j = 0; j < size; j++)
            {
                string       name = graphNo + " - " + i + "," + j;
                GameObject   v    = GameObject.Find(name);
                vertexScript vs   = v.GetComponent <vertexScript>();

                if (i > 0 && horAndVer)//Add North Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3(j, (-i + 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size), (-i + 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }
                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i - 1), j);
                    if (vertexDataInt[counter][1] == 1)
                    {
                        string       nameB = graphNo + " - " + (i - 1) + "," + j;
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i - 1), j, edge, e, vs, vsB);
                        edges.Add(e);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i > 0 && j > 0 && diag)//Add North-West Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j - 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size - 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i - 1), (j - 1));
                    if (vertexDataInt[counter][0] == 1)
                    {
                        string       nameB = graphNo + " - " + (i - 1) + "," + (j - 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i - 1), (j - 1), edge, e, vs, vsB);
                        edges.Add(e);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i > 0 && j < size - 1 && diag)//Add North-East Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size + 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i - 1), (j + 1));
                    if (vertexDataInt[counter][2] == 1)
                    {
                        string       nameB = graphNo + " - " + (i - 1) + "," + (j + 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i - 1), (j + 1), edge, e, vs, vsB);
                        edges.Add(e);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i < size - 1 && horAndVer)//Add South Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3(j, (-i - 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3(j + size, (-i - 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i + 1), j);
                    if (vertexDataInt[counter][6] == 1)
                    {
                        string       nameB = graphNo + " - " + (i + 1) + "," + j;
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i + 1), j, edge, e, vs, vsB);
                        edges.Add(e);
                    }

                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i < size - 1 && j > 0 && diag)//Add South-West Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j - 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size - 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i + 1), (j - 1));
                    if (vertexDataInt[counter][5] == 1)
                    {
                        string       nameB = graphNo + " - " + (i + 1) + "," + (j - 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i + 1), (j - 1), edge, e, vs, vsB);
                        edges.Add(e);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i < size - 1 && j < size - 1 && diag)//Add South-East Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size + 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i + 1), (j + 1));
                    if (vertexDataInt[counter][7] == 1)
                    {
                        string       nameB = graphNo + " - " + (i + 1) + "," + (j + 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i + 1), (j + 1), edge, e, vs, vsB);
                        edges.Add(e);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (j > 0 && horAndVer)//Add West Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j - 0.5f), -i, 0), Quaternion.identity);
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size - 0.5f), -i, 0), Quaternion.identity);
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, i, (j - 1));
                    if (vertexDataInt[counter][3] == 1)
                    {
                        string       nameB = graphNo + " - " + i + "," + (j - 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, i, (j - 1), edge, e, vs, vsB);
                        edges.Add(e);
                    }

                    else
                    {
                        Destroy(edge);
                    }
                }

                if (j < size - 1 && horAndVer)//Add East Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + 0.5f), -i, 0), Quaternion.identity);
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size + 0.5f), -i, 0), Quaternion.identity);
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, i, (j + 1));
                    if (vertexDataInt[counter][4] == 1)
                    {
                        string       nameB = graphNo + " - " + i + "," + (j + 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, i, (j + 1), edge, e, vs, vsB);
                        edges.Add(e);
                    }

                    else
                    {
                        Destroy(edge);
                    }
                }

                counter++;
            }
        }

        return(edges);
    }
Beispiel #9
0
    void initEdges()
    {
        for (int i = 0; i < size; i++)
        {
            for (int j = 0; j < size; j++)
            {
                string       name = graphNo + " - " + i + "," + j;
                GameObject   v    = GameObject.Find(name);
                vertexScript vs   = v.GetComponent <vertexScript>();

                if (i > 0 && horAndVer)//Add North Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3(j, (-i + 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size), (-i + 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }
                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i - 1), j);
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + (i - 1) + "," + j;
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i - 1), j, edge, e, vs, vsB);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i > 0 && j > 0 && diag)//Add North-West Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j - 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size - 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i - 1), (j - 1));
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + (i - 1) + "," + (j - 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i - 1), (j - 1), edge, e, vs, vsB);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i > 0 && j < size - 1 && diag)//Add North-East Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size + 0.5f), (-i + 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i - 1), (j + 1));
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + (i - 1) + "," + (j + 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i - 1), (j + 1), edge, e, vs, vsB);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i < size - 1 && horAndVer)//Add South Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3(j, (-i - 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3(j + size, (-i - 0.5f), 0), Quaternion.Euler(0, 0, 90));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i + 1), j);
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + (i + 1) + "," + j;
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i + 1), j, edge, e, vs, vsB);
                    }

                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i < size - 1 && j > 0 && diag)//Add South-West Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j - 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size - 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, 45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i + 1), (j - 1));
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + (i + 1) + "," + (j - 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i + 1), (j - 1), edge, e, vs, vsB);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (i < size - 1 && j < size - 1 && diag)//Add South-East Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size + 0.5f), (-i - 0.5f), 0), Quaternion.Euler(0, 0, -45));
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, (i + 1), (j + 1));
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + (i + 1) + "," + (j + 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, (i + 1), (j + 1), edge, e, vs, vsB);
                    }
                    else
                    {
                        Destroy(edge);
                    }
                }

                if (j > 0 && horAndVer)//Add West Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j - 0.5f), -i, 0), Quaternion.identity);
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size - 0.5f), -i, 0), Quaternion.identity);
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, i, (j - 1));
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + i + "," + (j - 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, i, (j - 1), edge, e, vs, vsB);
                    }

                    else
                    {
                        Destroy(edge);
                    }
                }

                if (j < size - 1 && horAndVer)//Add East Edge
                {
                    GameObject edge;

                    if (graphNo == 1)
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + 0.5f), -i, 0), Quaternion.identity);
                    }
                    else
                    {
                        edge = Instantiate(edgeGO, new Vector3((j + size + 0.5f), -i, 0), Quaternion.identity);
                    }

                    edge.transform.parent = v.transform;
                    edgeScript e = edge.GetComponent <edgeScript>();
                    e.setVertices(i, j, i, (j + 1));
                    if (!edgeExists(e))
                    {
                        string       nameB = graphNo + " - " + i + "," + (j + 1);
                        GameObject   vB    = GameObject.Find(nameB);
                        vertexScript vsB   = vB.GetComponent <vertexScript>();
                        createEdge(graphNo, i, j, i, (j + 1), edge, e, vs, vsB);
                    }

                    else
                    {
                        Destroy(edge);
                    }
                }

                //vertices[i,j] = vs;
            }
        }
    }