IKExecutionOrderInspector.cs 776 B

12345678910111213141516171819202122232425262728
  1. using UnityEngine;
  2. using UnityEditor;
  3. using System.Collections;
  4. namespace RootMotion.FinalIK {
  5. // Custom inspector for IKExecutionOrder
  6. [CustomEditor(typeof(IKExecutionOrder))]
  7. public class IKExecutionOrderInspector : Editor {
  8. private IKExecutionOrder script { get { return target as IKExecutionOrder; }}
  9. private MonoScript monoScript;
  10. void OnEnable() {
  11. if (serializedObject == null) return;
  12. // Changing the script execution order
  13. if (!Application.isPlaying) {
  14. int executionOrder = 9996;
  15. monoScript = MonoScript.FromMonoBehaviour(script);
  16. int currentExecutionOrder = MonoImporter.GetExecutionOrder(monoScript);
  17. if (currentExecutionOrder != executionOrder) MonoImporter.SetExecutionOrder(monoScript, executionOrder);
  18. }
  19. }
  20. }
  21. }