From 0d44a041e971834aa8630f6a63b7cd6fb144ee70 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Wed, 20 Mar 2019 18:16:29 +0100 Subject: [PATCH] [unity] Added missing `Create 2D Hinge Chain` button at SkeletonUtilityBone inspector, only 3D version was available. Closes #1310. --- .../Editor/SkeletonUtilityBoneInspector.cs | 39 +++++++------------ 1 file changed, 14 insertions(+), 25 deletions(-) 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 } }