public void Triangulate(ITriangulator triangulator) { Debug.Assert(spriteMeshData != null); Debug.Assert(triangulator != null); m_VerticesTemp.Clear(); for (int i = 0; i < spriteMeshData.vertexCount; ++i) { m_VerticesTemp.Add(spriteMeshData.GetPosition(i)); } triangulator.Triangulate(m_VerticesTemp, spriteMeshData.edges, spriteMeshData.indices); }
void FillMeshDataContainers(ref List <Vector2> vertices, ref List <Edge> edges, out List <EditableBoneWeight> weightData, out bool hasWeightData) { edges.Clear(); vertices.Clear(); edges.AddRange(spriteMeshData.edges); weightData = new List <EditableBoneWeight>(spriteMeshData.vertexCount); hasWeightData = false; for (var i = 0; i < spriteMeshData.vertexCount; ++i) { vertices.Add(spriteMeshData.GetPosition(i)); var boneWeight = spriteMeshData.GetWeight(i); weightData.Add(boneWeight); if (boneWeight != default) { hasWeightData = true; } } }
private void LayoutVertices() { for (int i = 0; i < m_SpriteMeshData.vertexCount; i++) { Vector2 position = m_SpriteMeshData.GetPosition(i); spriteMeshView.LayoutVertex(position, i); } }