From f42d76a59b22d52d1cb89702160b7ef6505fbf31 Mon Sep 17 00:00:00 2001 From: ZimM Date: Sat, 28 Feb 2015 05:31:44 +0200 Subject: [PATCH] fixed a regression when using Front Facing or Immutable Triangles --- .../Assets/spine-unity/SkeletonRenderer.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/spine-unity/Assets/spine-unity/SkeletonRenderer.cs b/spine-unity/Assets/spine-unity/SkeletonRenderer.cs index a9497e791..c5c185871 100644 --- a/spine-unity/Assets/spine-unity/SkeletonRenderer.cs +++ b/spine-unity/Assets/spine-unity/SkeletonRenderer.cs @@ -517,8 +517,13 @@ public class SkeletonRenderer : MonoBehaviour { addSubmeshArgumentsCurrentMesh.Count = addSubmeshArgumentsTemp.Count; addSubmeshArgumentsTemp.CopyTo(addSubmeshArgumentsCurrentMesh.Items); - lastState.frontFacing = frontFacing; - lastState.immutableTriangles = immutableTriangles; + if (useMesh1) { + lastState.frontFacingMesh1 = frontFacing; + lastState.immutableTrianglesMesh1 = immutableTriangles; + } else { + lastState.frontFacingMesh2 = frontFacing; + lastState.immutableTrianglesMesh2 = immutableTriangles; + } useMesh1 = !useMesh1; } @@ -526,8 +531,8 @@ public class SkeletonRenderer : MonoBehaviour { private bool MustUpdateMeshStructure(ExposedList attachmentsTriangleCountTemp, ExposedList addSubmeshArgumentsTemp) { // Check if any mesh settings were changed bool mustUpdateMeshStructure = - frontFacing != lastState.frontFacing || - immutableTriangles != lastState.immutableTriangles; + frontFacing != (useMesh1 ? lastState.frontFacingMesh1 : lastState.frontFacingMesh2) || + immutableTriangles != (useMesh1 ? lastState.immutableTrianglesMesh1 : lastState.immutableTrianglesMesh2); #if UNITY_EDITOR mustUpdateMeshStructure |= !Application.isPlaying; #endif @@ -703,8 +708,10 @@ public class SkeletonRenderer : MonoBehaviour { #endif private class LastState { - public bool frontFacing; - public bool immutableTriangles; + public bool frontFacingMesh1; + public bool frontFacingMesh2; + public bool immutableTrianglesMesh1; + public bool immutableTrianglesMesh2; public int vertexCount; public readonly ExposedList attachmentsTriangleCountTemp = new ExposedList(); public readonly ExposedList attachmentsTriangleCountMesh1 = new ExposedList();