From aee230b1564633148a99aa481cd99a5e7748c286 Mon Sep 17 00:00:00 2001 From: Dgizusse Date: Mon, 13 May 2013 11:25:08 -0400 Subject: [PATCH] - Properly update mesh data when switching platform in editor. --- spine-tk2d/Code/tk2dSpineSkeleton.cs | 13 ++++++++++++- spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs index b9fdf63d8..82983b5a9 100644 --- a/spine-tk2d/Code/tk2dSpineSkeleton.cs +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs @@ -10,7 +10,7 @@ using Spine; [ExecuteInEditMode] [RequireComponent(typeof(MeshFilter))] [RequireComponent(typeof(MeshRenderer))] -public class tk2dSpineSkeleton : MonoBehaviour { +public class tk2dSpineSkeleton : MonoBehaviour, tk2dRuntime.ISpriteCollectionForceBuild { /* */ @@ -188,4 +188,15 @@ public class tk2dSpineSkeleton : MonoBehaviour { state.Update(Time.deltaTime * animationSpeed); state.Apply(skeleton); } + + public bool UsesSpriteCollection(tk2dSpriteCollectionData spriteCollection) { + return skeletonDataAsset.sprites.spriteCollection == spriteCollection; + } + + public void ForceBuild() { + skeletonDataAsset.ForceUpdate(); + skeleton = new Skeleton(skeletonDataAsset.GetSkeletonData()); + + UpdateMesh(); + } } diff --git a/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs b/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs index a47e40da1..ddba8b969 100644 --- a/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs +++ b/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs @@ -68,4 +68,8 @@ public class tk2dSpineSkeletonDataAsset : ScriptableObject { stateData.SetMix(fromAnimation[i],toAnimation[i],duration[i]); } } + + public void ForceUpdate() { + MakeSkeletonAndAnimationData(); + } }