Ejemplo n.º 1
0
        public List <Vector3> GetCornerVerts(TerrainPiece previousTerrain, TerrainPiece currentTerrain, MeshPiece.Plane planeType, bool topVerts)
        {
            MeshPiece lastMesh    = null;
            MeshPiece currentMesh = null;

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

            if (planeType == MeshPiece.Plane.Front)
            {
                lastMesh    = previousTerrain.FrontMesh;
                currentMesh = currentTerrain.FrontMesh;
            }
            else if (planeType == MeshPiece.Plane.Detail)
            {
                lastMesh    = previousTerrain.DetailMesh;
                currentMesh = currentTerrain.DetailMesh;
            }

            if (topVerts)
            {
                verts.Add(lastMesh.TopRightCorner);
                verts.Add(currentMesh.TopLeftCorner);
            }
            else
            {
                verts.Add(lastMesh.BottomRightCorner);
                verts.Add(currentMesh.BottomLeftCorner);
            }

            return(verts);
        }
Ejemplo n.º 2
0
        public List <Vector3> MoveStartVertex(List <Vector3> verticies, Vector3 newStartVertex, bool copyVertices, MeshPiece.Plane planeType)
        {
            int startIndex = 0;

            if (planeType == MeshPiece.Plane.Front || planeType == MeshPiece.Plane.Detail)
            {
                startIndex = 1;
            }

            Vector3 originalStartVertex = verticies[startIndex];

            return(MoveStartVertex(verticies, originalStartVertex, newStartVertex, copyVertices));
        }