public void ApplyChanges()
{
if(spriteMeshData)
{
spriteMeshData.vertices = m_TexVertices.ToArray();
spriteMeshData.boneWeights = boneWeights.ToArray();
spriteMeshData.edges = indexedEdges.ToArray();
spriteMeshData.holes = holes.ConvertAll( h => h.vertex ).ToArray();
spriteMeshData.indices = indices.ToArray();
spriteMeshData.bindPoses = bindPoses.ToArray();
spriteMeshData.pivotPoint = pivotPoint;
SpriteMeshUtils.DestroyBlendShapes(spriteMeshData,false,"");
SetBlendShapesFromCache();
EditorUtility.SetDirty(spriteMeshData);
string spriteAssetPath = AssetDatabase.GetAssetPath(spriteMesh.sprite);
SpriteMeshUtils.UpdateAssets(spriteMesh,spriteMeshData);
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
TextureImporter textureImporter = AssetImporter.GetAtPath(spriteAssetPath) as TextureImporter;
textureImporter.userData = textureImporter.assetTimeStamp.ToString();
AssetDatabase.StartAssetEditing();
AssetDatabase.ImportAsset(spriteAssetPath);
AssetDatabase.StopAssetEditing();
isDirty = false;
}
if(spriteMeshInstance)
{
SpriteMeshUtils.UpdateRenderer(spriteMeshInstance,false);
}
}