Ejemplo n.º 1
0
    void AddFaceVertices()
    {
        for (int faceID = 0; faceID < 6; faceID++)
        {
            VerticeFaceDraggable faceVertice = Instantiate(verticeFaceDraggable);
            List <int>           childsIDs   = new List <int> ();
            switch (faceID)
            {
            //TOP
            case 0:
                childsIDs.Add(0);
                childsIDs.Add(1);
                childsIDs.Add(2);
                childsIDs.Add(3);
                faceVertice.SetFace(VerticeFaceDraggable.faces.TOP);
                break;

            //bottom
            case 1:
                childsIDs.Add(4);
                childsIDs.Add(5);
                childsIDs.Add(7);
                childsIDs.Add(6);
                faceVertice.SetFace(VerticeFaceDraggable.faces.BOTTOM);
                break;

            //front
            case 2:
                childsIDs.Add(2);
                childsIDs.Add(3);
                childsIDs.Add(7);
                childsIDs.Add(6);
                faceVertice.SetFace(VerticeFaceDraggable.faces.FRONT);
                break;

            //back
            case 3:
                childsIDs.Add(0);
                childsIDs.Add(1);
                childsIDs.Add(4);
                childsIDs.Add(5);
                faceVertice.SetFace(VerticeFaceDraggable.faces.BACK);
                break;

            //right
            case 4:
                childsIDs.Add(1);
                childsIDs.Add(2);
                childsIDs.Add(5);
                childsIDs.Add(7);
                faceVertice.SetFace(VerticeFaceDraggable.faces.RIGHT);
                break;

            //left
            case 5:
                childsIDs.Add(0);
                childsIDs.Add(3);
                childsIDs.Add(4);
                childsIDs.Add(6);
                faceVertice.SetFace(VerticeFaceDraggable.faces.LEFT);
                break;
            }
            Vector3 newPos = Vector3.zero;
            foreach (int id in childsIDs)
            {
                faceVertice.childs.Add(verticesDraggables [id]);
                newPos += verticesDraggables [id].transform.localPosition;
            }
            newPos /= childsIDs.Count;

            faceVertice.transform.SetParent(transform);
            faceVertice.Init(meshConstructor, verticesDraggables.Count + 1, Vector3.zero);
            faceVertice.SetFaceType();
            //faceVertice.transform.localScale = verticesSize;
            verticesDraggables.Add(faceVertice);
        }
        RepositionateFaces();
    }