Bladeren bron

Added SkeletonUtility button to SkeletonAnimatorInspector

Fenrisul 10 jaren geleden
bovenliggende
commit
678296a3d7
1 gewijzigde bestanden met toevoegingen van 17 en 2 verwijderingen
  1. 17 2
      spine-unity/Assets/spine-unity/Editor/SkeletonAnimatorInspector.cs

+ 17 - 2
spine-unity/Assets/spine-unity/Editor/SkeletonAnimatorInspector.cs

@@ -40,10 +40,13 @@ using Spine;
 [CustomEditor(typeof(SkeletonAnimator))]
 [CustomEditor(typeof(SkeletonAnimator))]
 public class SkeletonAnimatorInspector : SkeletonRendererInspector {
 public class SkeletonAnimatorInspector : SkeletonRendererInspector {
 	protected SerializedProperty layerMixModes;
 	protected SerializedProperty layerMixModes;
-
+	protected bool isPrefab;
 	protected override void OnEnable () {
 	protected override void OnEnable () {
 		base.OnEnable();
 		base.OnEnable();
 		layerMixModes = serializedObject.FindProperty("layerMixModes");
 		layerMixModes = serializedObject.FindProperty("layerMixModes");
+
+		if (PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab)
+			isPrefab = true;
 	}
 	}
 
 
 	protected override void gui () {
 	protected override void gui () {
@@ -51,6 +54,18 @@ public class SkeletonAnimatorInspector : SkeletonRendererInspector {
 
 
 		EditorGUILayout.PropertyField(layerMixModes, true);
 		EditorGUILayout.PropertyField(layerMixModes, true);
 
 
-		serializedObject.ApplyModifiedProperties();
+		SkeletonAnimator component = (SkeletonAnimator)target;
+		if (!component.valid)
+			return;
+
+		EditorGUILayout.Space();
+
+		if (!isPrefab) {
+			if (component.GetComponent<SkeletonUtility>() == null) {
+				if (GUILayout.Button(new GUIContent("Add Skeleton Utility", SpineEditorUtilities.Icons.skeletonUtility), GUILayout.Height(30))) {
+					component.gameObject.AddComponent<SkeletonUtility>();
+				}
+			}
+		}
 	}
 	}
 }
 }