diff --git a/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs b/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs index 14f1096bc..f5b6af31a 100644 --- a/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs +++ b/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs @@ -23,8 +23,8 @@ public class tk2dSpineAttachmentLoader : AttachmentLoader { if(type != AttachmentType.region) throw new Exception("Unknown attachment type: " + type); tk2dSpriteDefinition attachmentParameters = null; - for(int i = 0; i < sprites.spriteDefinitions.Length; ++i) { - tk2dSpriteDefinition def = sprites.spriteDefinitions[i]; + for(int i = 0; i < sprites.inst.spriteDefinitions.Length; ++i) { + tk2dSpriteDefinition def = sprites.inst.spriteDefinitions[i]; if(def.name == name) { attachmentParameters = def; break; diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs index 33528e2e9..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 { /* */ @@ -137,7 +137,7 @@ public class tk2dSpineSkeleton : MonoBehaviour { mesh.triangles = triangles; mesh.RecalculateNormals(); - renderer.sharedMaterial = skeletonDataAsset.sprites.spriteCollection.materials[0]; + renderer.sharedMaterial = skeletonDataAsset.sprites.spriteCollection.inst.materials[0]; } /* @@ -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(); + } }