Beispiel #1
0
 bool isAlreadyUsed(NodeController node1, NodeController node2, int id)
 {
     //regarder chaque edge,
     foreach (Transform t in ListeEdges.transform)
     {
         //si un edge est égal à node1-node2 et que son id est le même alors on retourne true
         EdgeController actualEdge = t.GetComponent <EdgeController>();
         if ((actualEdge.Node1() == node1 || actualEdge.Node2() == node1) && (actualEdge.Node1() == node2 || actualEdge.Node2() == node2) && actualEdge.idMessage == id)
         {
             return(true);
         }
         //sinon, false
     }
     return(false);
 }
Beispiel #2
0
    private void actualizePositionEdges(GameObject liste_edges)
    {
        foreach (Transform edgeTransform in liste_edges.transform)
        {
            EdgeController edge = edgeTransform.GetComponent <EdgeController>();
            if (edge.gameObject.activeSelf)
            {
                //pour chaque edge, on récupère les positions des deux bouts
                //et on détermine où le edges doit aller
                Vector3 pos1 = edge.Node1().GetTransform().position;
                Vector3 pos2 = edge.Node2().GetTransform().position;

                Vector3 n = pos2 - pos1;

                float distance = (n).magnitude;
                float alpha    = angle(n.x, n.y);

                edge.transform.position         = (pos1 + pos2) / 2.0f;
                edge.transform.localScale       = new Vector3(distance * 1 / 8.5f, edge.epaisseur, 1);
                edge.transform.localEulerAngles = new Vector3(0, 0, alpha);
            }
        }
    }