From 5da73d9f1b7eb256a2970df6b291369d80334200 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 5 Sep 2016 13:58:10 +0800 Subject: [PATCH] [unity] SpriteAttacher basic SkeletonGraphic support. --- .../Assets/spine-unity/Modules/SpriteAttacher.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs b/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs index 83d43b7da..811215d56 100644 --- a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs +++ b/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs @@ -57,8 +57,16 @@ namespace Spine.Unity.Modules { } public void Attach () { - var skeletonRenderer = GetComponent(); - this.applyPMA = skeletonRenderer.pmaVertexColors; + var skeletonComponent = GetComponent(); + + var skeletonRenderer = skeletonComponent as SkeletonRenderer; + if (skeletonRenderer != null) + this.applyPMA = skeletonRenderer.pmaVertexColors; + else { + var skeletonGraphic = skeletonComponent as SkeletonGraphic; + if (skeletonGraphic != null) + this.applyPMA = skeletonGraphic.SpineMeshGenerator.PremultiplyVertexColors; + } Shader attachmentShader = applyPMA ? Shader.Find(DefaultPMAShader) : Shader.Find(DefaultStraightAlphaShader); @@ -67,7 +75,7 @@ namespace Spine.Unity.Modules { if (attachment == null) attachment = loader.NewRegionAttachment(null, sprite.name, ""); - skeletonRenderer.skeleton.FindSlot(slot).Attachment = attachment; + skeletonComponent.Skeleton.FindSlot(slot).Attachment = attachment; if (!keepLoaderInMemory) loader = null;