1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using UnityEngine;
- using System.Collections;
- using UnityEditor;
- namespace RootMotion
- {
- [CustomEditor(typeof(HumanoidBaker))]
- public class HumanoidBakerInspector : BakerInspector
- {
- private HumanoidBaker script { get { return target as HumanoidBaker; } }
- private MonoScript monoScript;
- void OnEnable()
- {
- // Changing the script execution order
- if (!Application.isPlaying)
- {
- monoScript = MonoScript.FromMonoBehaviour(script);
- int currentExecutionOrder = MonoImporter.GetExecutionOrder(monoScript);
- if (currentExecutionOrder != 15000) MonoImporter.SetExecutionOrder(monoScript, 15000);
- }
- }
- // TODO Move this to BakerInspector.cs
- public override void OnInspectorGUI()
- {
- serializedObject.Update();
- DrawKeyframeSettings(script as Baker);
- DrawHumanoidKeyframeSettings(script);
- DrawModeSettings(script as Baker);
- DrawButtons(script as Baker);
- if (serializedObject.ApplyModifiedProperties())
- {
- EditorUtility.SetDirty(script);
- }
- }
- protected void DrawHumanoidKeyframeSettings(HumanoidBaker script)
- {
- if (script.isBaking) return;
- EditorGUILayout.PropertyField(serializedObject.FindProperty("IKKeyReductionError"));
- EditorGUILayout.PropertyField(serializedObject.FindProperty("muscleFrameRateDiv"));
- EditorGUILayout.PropertyField(serializedObject.FindProperty("bakeHandIK"));
- }
- }
- }
|