1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using UnityEngine;
- using System.Collections;
- using UnityEditor;
- namespace RootMotion
- {
- [CustomEditor(typeof(GenericBaker))]
- public class GenericBakerInspector : BakerInspector
- {
- private GenericBaker script { get { return target as GenericBaker; } }
- private MonoScript monoScript;
- void OnEnable()
- {
- // Changing the script execution order
- if (!Application.isPlaying)
- {
- monoScript = MonoScript.FromMonoBehaviour(script);
- int currentExecutionOrder = MonoImporter.GetExecutionOrder(monoScript);
- if (currentExecutionOrder != 15001) MonoImporter.SetExecutionOrder(monoScript, 15001);
- }
- }
- public override void OnInspectorGUI()
- {
- serializedObject.Update();
- DrawKeyframeSettings(script as Baker);
- DrawGenericKeyframeSettings(script);
- DrawModeSettings(script as Baker);
- DrawButtons(script as Baker);
- if (serializedObject.ApplyModifiedProperties())
- {
- EditorUtility.SetDirty(script);
- }
- }
- private void DrawGenericKeyframeSettings(GenericBaker script)
- {
- if (script.isBaking) return;
- EditorGUILayout.PropertyField(serializedObject.FindProperty("markAsLegacy"));
- EditorGUILayout.PropertyField(serializedObject.FindProperty("root"));
- EditorGUILayout.PropertyField(serializedObject.FindProperty("rootNode"));
- EditorGUILayout.PropertyField(serializedObject.FindProperty("ignoreList"), true);
- EditorGUILayout.PropertyField(serializedObject.FindProperty("bakePositionList"), true);
- }
- }
- }
|