Exemplo n.º 1
0
Arquivo: Vertexer.cs Projeto: Cdrix/SM
    public List <Vector3> UpdateCurrentVertices(Malla mallaPass, int columns, int rows, float stepX, float stepZ,
                                                RaycastHit hitMouseOnTerrain)
    {
        if (mallaPass.Lots.Count == 0)
        {
            print("Malla pass had not lots assgined");
            return(new List <Vector3>());
        }

        //for GC
        var indexMiddle = UMesh.ReturnIndexContain(hitMouseOnTerrain.point, mallaPass.Lots);

        if (IsOnBankAlready(indexMiddle))
        {
            return(_vertexBank[indexMiddle]);
        }

        List <Vector3> objects = new List <Vector3>();

        objects = UMesh.ReturnThePos(hitMouseOnTerrain.point, stepX, stepZ, columns, rows);

        _indexesHover = UMesh.ReturnIndexesContain(objects, mallaPass.Lots);
        var res = UMesh.ReturnCurrentLotsVertex(IndexesHover, mallaPass.Lots);

        AddToBank(indexMiddle, res);
        return(res);
    }
Exemplo n.º 2
0
Arquivo: SubPolyr.cs Projeto: Cdrix/SM
    /// Creates a list for the selected sub polygons given the columns and rows
    List <Vector3> CreateListSelected(ref List <Vector3> objsHitTerrain, int columns, int rows, Vector3 iniHit,
                                      SubDivider subDivide, bool isMouseOnTerrain, Vertexer vertex, UPoly poly, List <Vector3> currentHoverVertices)
    {
        objsHitTerrain = UMesh.ReturnThePos(iniHit, subDivide.XSubStep, subDivide.ZSubStep, columns, rows);

        List <Vector3> res = new List <Vector3>();

        for (int i = 0; i < objsHitTerrain.Count; i++)
        {
            res = UList.AddOneListToList(res, CreateOneSubPoly(objsHitTerrain[i], isMouseOnTerrain, vertex,
                                                               subDivide, poly, currentHoverVertices));
        }
        //still needs to eliminate duplicates

        return(res);
    }