void DrawBuildOptions() { EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); SerializedProperty preBuiltProp = serializedObject.FindProperty("preBuilt"); bool isBuilt = preBuiltProp.boolValue; if (isBuilt) { if (GUILayout.Button(isBuilt ? "Clear Ragdoll" : "Pre Build Ragdoll")) { RagdollBuilder.EraseRagdoll(ragdoll.GetComponent <Animator>()); preBuiltProp.boolValue = !isBuilt; } } else { GUI.enabled = ragdoll.ragdollProfile != null; if (GUILayout.Button(isBuilt ? "Clear Ragdoll" : "Pre Build Ragdoll")) { System.Collections.Generic.Dictionary <HumanBodyBones, RagdollTransform> bones; RagdollBuilder.BuildRagdollElements(ragdoll.GetComponent <Animator>(), out _, out bones); RagdollBuilder.BuildBones(ragdoll.GetComponent <Animator>(), ragdoll.ragdollProfile, true, bones, out _); preBuiltProp.boolValue = !isBuilt; } GUI.enabled = true; } if (isBuilt) { GUI.enabled = ragdoll.ragdollProfile != null; // if (ragdoll.ragdollProfile) { if (GUILayout.Button("Update Ragdoll To Profile")) { System.Collections.Generic.Dictionary <HumanBodyBones, RagdollTransform> bones; RagdollBuilder.BuildRagdollElements(ragdoll.GetComponent <Animator>(), out _, out bones); RagdollBuilder.BuildBones(ragdoll.GetComponent <Animator>(), ragdoll.ragdollProfile, false, bones, out _); } GUI.enabled = true; // } } EditorGUILayout.EndHorizontal(); }