Пример #1
0
        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();
        }