void createlayer(List <List <Vector3> > tmpmoves, string meshname, MeshLoader loader) { List <Vector3> newVertices = new List <Vector3>(); List <Vector3> newNormals = new List <Vector3>(); List <Vector2> newUV = new List <Vector2>(); List <int> newTriangles = new List <int>(); List <Dictionary <int, Dictionary <int, int> > > neighbours = new List <Dictionary <int, Dictionary <int, int> > >(); for (int tmpmvn = 0; tmpmvn < tmpmoves.Count; tmpmvn++) { List <Vector3> tmpmove = tmpmoves[tmpmvn]; if (tmpmove.Count > 1) { createMesh(ref newVertices, ref tmpmove, ref newNormals, ref newUV, ref newTriangles); } } MeshCreatorInput mci = new MeshCreatorInput { meshname = meshname, newUV = newUV.ToArray(), newNormals = newNormals.ToArray(), newVertices = newVertices.ToArray(), newTriangles = newTriangles.ToArray() }; meshCreatorInputQueue.Enqueue(mci); createdLayers++; }
internal void Update(GCodeHandler source, MeshLoader loader) { if (meshCreatorInputQueue.Count > 0) { MeshCreatorInput mci = meshCreatorInputQueue.Dequeue(); source.createmesh(mci.meshname, mci.newVertices, mci.newNormals, mci.newUV, mci.newTriangles, source.RootForObject.transform); } }