Browse Source

[unity] Handle extra case for attributes without dataField.

pharan 7 years ago
parent
commit
861aa8d5c8
1 changed files with 10 additions and 3 deletions
  1. 10 3
      spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs

+ 10 - 3
spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs

@@ -89,9 +89,16 @@ namespace Spine.Unity.Editor {
 					return;
 				}
 
-			} else if (property.serializedObject.targetObject is Component) {
-				var component = (Component)property.serializedObject.targetObject;
-				var hasSkeletonDataAsset = component.GetComponentInChildren(typeof(IHasSkeletonDataAsset)) as IHasSkeletonDataAsset;
+			} else {
+				var targetObject = property.serializedObject.targetObject;
+
+				IHasSkeletonDataAsset hasSkeletonDataAsset = targetObject as IHasSkeletonDataAsset;
+				if (hasSkeletonDataAsset == null) {
+					var component = targetObject as Component;
+					if (component != null)
+						hasSkeletonDataAsset = component.GetComponentInChildren(typeof(IHasSkeletonDataAsset)) as IHasSkeletonDataAsset;
+				}
+
 				if (hasSkeletonDataAsset != null)
 					skeletonDataAsset = hasSkeletonDataAsset.SkeletonDataAsset;
 			}