Browse Source

Merge branch '3.7-beta' of https://github.com/esotericsoftware/spine-runtimes into 3.7-beta

badlogic 6 years ago
parent
commit
8eec72023a

+ 8 - 3
spine-unity/Assets/Spine/Runtime/spine-unity/Mesh Generation/SpineMesh.cs

@@ -175,6 +175,10 @@ namespace Spine.Unity {
 			}
 		}
 
+		public MeshGenerator () {
+			submeshes.TrimExcess();
+		}
+
 		#region Step 1 : Generate Instructions
 		public static void GenerateSingleSubmeshInstruction (SkeletonRendererInstruction instructionOutput, Skeleton skeleton, Material material) {
 			ExposedList<Slot> drawOrder = skeleton.drawOrder;
@@ -866,12 +870,13 @@ namespace Spine.Unity {
 			this.meshBoundsMax = bmax;
 			this.meshBoundsThickness = lastSlotIndex * settings.zSpacing;
 
+			int submeshInstructionCount = instruction.submeshInstructions.Count;
+			submeshes.Count = submeshInstructionCount;
+
 			// Add triangles
 			if (updateTriangles) {
-				int submeshInstructionCount = instruction.submeshInstructions.Count;
-
 				// Match submesh buffers count with submeshInstruction count.
-				if (this.submeshes.Count < submeshInstructionCount) {
+				if (this.submeshes.Items.Length < submeshInstructionCount) {
 					this.submeshes.Resize(submeshInstructionCount);
 					for (int i = 0, n = submeshInstructionCount; i < n; i++) {
 						var submeshBuffer = this.submeshes.Items[i];