Explorar o código

[unity] Fixed code where a default skin was assumed to exist (which is no longer the case). Fixes an error at SkeletonDataAsset inspector -> show slots -> show attachments. Closes #1453.

Harald Csaszar %!s(int64=6) %!d(string=hai) anos
pai
achega
ae4790b85c

+ 2 - 1
spine-unity/Assets/Spine Examples/Scripts/Sample Components/Legacy/SpriteAttacher.cs

@@ -170,7 +170,8 @@ namespace Spine.Unity.Examples {
 			if (skinName != "")
 				skin = skeletonData.FindSkin(skinName);
 
-			skin.SetAttachment(slotIndex, att.Name, att);
+			if (skin != null)
+				skin.SetAttachment(slotIndex, att.Name, att);
 
 			return att;
 		}

+ 9 - 6
spine-unity/Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs

@@ -497,12 +497,15 @@ namespace Spine.Unity.Editor {
 						using (new SpineInspectorUtility.IndentScope()) {
 							{
 								skin.GetAttachments(i, slotAttachments);
-								if (skin != defaultSkin) {
-									defaultSkin.GetAttachments(i, slotAttachments);
-									defaultSkin.GetAttachments(i, defaultSkinAttachments);
-								} else {
-									defaultSkin.GetAttachments(i, defaultSkinAttachments);
-								}
+								if (defaultSkin != null) {
+									if (skin != defaultSkin) {
+										defaultSkin.GetAttachments(i, slotAttachments);
+										defaultSkin.GetAttachments(i, defaultSkinAttachments);
+									}
+									else {
+										defaultSkin.GetAttachments(i, defaultSkinAttachments);
+									}
+								}	
 							}
 
 							for (int a = 0; a < slotAttachments.Count; a++) {

+ 1 - 1
spine-unity/Assets/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs

@@ -582,7 +582,7 @@ namespace Spine.Unity.Editor {
 				attachmentTable.Add(skeleton.Slots.Items[i], attachments);
 				// Add skin attachments.
 				skin.GetAttachments(i, attachments);
-				if (notDefaultSkin) // Add default skin attachments.
+				if (notDefaultSkin && defaultSkin != null) // Add default skin attachments.
 					defaultSkin.GetAttachments(i, attachments);
 			}
 

+ 1 - 1
spine-unity/Assets/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs

@@ -58,7 +58,7 @@ namespace Spine.Unity.AttachmentTools {
 			var defaultSkin = skeleton.data.DefaultSkin;
 			var activeSkin = skeleton.skin;
 
-			if (includeDefaultSkin)
+			if (includeDefaultSkin && defaultSkin != null)
 				defaultSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked);
 
 			if (activeSkin != null)