From 0d829a7ba2483bfbaea6ffcddad9416e498c7f81 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 7 Jun 2018 20:07:27 +0800 Subject: [PATCH] [unity] Handle MeshRendererBuffers reinitialize. --- .../Assets/spine-unity/Mesh Generation/SpineMesh.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs b/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs index c85cdde3a..5a43436f4 100644 --- a/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs +++ b/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs @@ -1284,7 +1284,13 @@ namespace Spine.Unity { internal Material[] sharedMaterials = new Material[0]; public void Initialize () { - doubleBufferedMesh = new DoubleBuffered(); + if (doubleBufferedMesh != null) { + doubleBufferedMesh.GetNext().Clear(); + doubleBufferedMesh.GetNext().Clear(); + submeshMaterials.Clear(); + } else { + doubleBufferedMesh = new DoubleBuffered(); + } } public Material[] GetUpdatedSharedMaterialsArray () { @@ -1343,6 +1349,11 @@ namespace Spine.Unity { public Mesh mesh = SpineMesh.NewSkeletonMesh(); public SkeletonRendererInstruction instructionUsed = new SkeletonRendererInstruction(); + public void Clear () { + mesh.Clear(); + instructionUsed.Clear(); + } + public void Dispose () { if (mesh != null) { #if UNITY_EDITOR