diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs b/spine-unity/Assets/Spine/Editor/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs index 4f339a7e2..58d21b995 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs @@ -28,10 +28,8 @@ * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -//#define HINGECHAIN2D // Contributed by: Mitch Thompson - using UnityEngine; using UnityEditor; using System.Collections.Generic; @@ -177,8 +175,10 @@ namespace Spine.Unity.Editor { using (new GUILayout.HorizontalScope()) { EditorGUILayout.Space(); using (new EditorGUI.DisabledGroupScope(multiObject || !utilityBone.valid || !canCreateHingeChain)) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Create Hinge Chain", Icons.hingeChain), GUILayout.Width(150), GUILayout.Height(24))) + if (GUILayout.Button(SpineInspectorUtility.TempContent("Create 3D Hinge Chain", Icons.hingeChain), GUILayout.MinWidth(120), GUILayout.Height(24))) CreateHingeChain(); + if (GUILayout.Button(SpineInspectorUtility.TempContent("Create 2D Hinge Chain", Icons.hingeChain), GUILayout.MinWidth(120), GUILayout.Height(24))) + CreateHingeChain2D(); } EditorGUILayout.Space(); } @@ -277,17 +277,20 @@ namespace Spine.Unity.Editor { EditorGUIUtility.PingObject(go); } - -#if HINGECHAIN2D bool CanCreateHingeChain () { - if (utilityBone == null) return false; - if (utilityBone.GetComponent() != null) return false; - if (utilityBone.bone != null && utilityBone.bone.Children.Count == 0) return false; - var rigidbodies = utilityBone.GetComponentsInChildren(); - return rigidbodies.Length <= 0; + if (utilityBone == null) + return false; + if (utilityBone.GetComponent() != null || utilityBone.GetComponent() != null) + return false; + if (utilityBone.bone != null && utilityBone.bone.Children.Count == 0) + return false; + + var rigidbodies = utilityBone.GetComponentsInChildren(); + var rigidbodies2D = utilityBone.GetComponentsInChildren(); + return rigidbodies.Length <= 0 && rigidbodies2D.Length <= 0; } - void CreateHingeChain () { + void CreateHingeChain2D () { var utilBoneArr = utilityBone.GetComponentsInChildren(); foreach (var utilBone in utilBoneArr) { @@ -324,19 +327,6 @@ namespace Spine.Unity.Editor { utilBone.GetComponent().mass = utilBone.transform.parent.GetComponent().mass * 0.75f; } } -#else - bool CanCreateHingeChain () { - if (utilityBone == null) - return false; - if (utilityBone.GetComponent() != null) - return false; - if (utilityBone.bone != null && utilityBone.bone.Children.Count == 0) - return false; - - var rigidbodies = utilityBone.GetComponentsInChildren(); - - return rigidbodies.Length <= 0; - } void CreateHingeChain () { var utilBoneArr = utilityBone.GetComponentsInChildren(); @@ -380,7 +370,6 @@ namespace Spine.Unity.Editor { utilBone.gameObject.AddComponent(); } -#endif } }