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); }
/// 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); }