Exemplo n.º 1
0
        public void RevertChanges()
        {
            Clear("");

            if (spriteMesh && spriteMeshData)
            {
                pivotPoint = spriteMeshData.pivotPoint;
                rect       = SpriteMeshUtils.GetRect(spriteMesh.sprite);

                m_TexVertices = spriteMeshData.vertices.ToList();
                nodes         = m_TexVertices.ConvertAll(v => Node.Create(m_TexVertices.IndexOf(v)));
                boneWeights   = spriteMeshData.boneWeights.ToList();
                edges         = spriteMeshData.edges.ToList().ConvertAll(e => Edge.Create(nodes[e.index1], nodes[e.index2]));
                holes         = spriteMeshData.holes.ToList().ConvertAll(h => new Hole(h));
                indices       = spriteMeshData.indices.ToList();
                bindPoses     = spriteMeshData.bindPoses.ToList().ConvertAll(b => b.Clone() as BindInfo);

                CreateBlendShapeCache(spriteMeshData);

                if (boneWeights.Count != nodes.Count)
                {
                    boneWeights = nodes.ConvertAll(n => BoneWeight.Create());
                }

                m_DirtyVertices = true;
            }
        }