AnimancerSettingsTool.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //
  2. #if UNITY_EDITOR
  3. using System;
  4. using UnityEditor;
  5. namespace Animancer.Editor.Tools
  6. {
  7. /// <summary>[Editor-Only] Displays the <see cref="AnimancerSettings"/>.</summary>
  8. /// https://kybernetik.com.au/animancer/api/Animancer.Editor.Tools/AnimancerSettingsTool
  9. [Serializable]
  10. public class AnimancerSettingsTool : AnimancerToolsWindow.Tool
  11. {
  12. /************************************************************************************************************************/
  13. /// <inheritdoc/>
  14. public override int DisplayOrder => int.MaxValue;
  15. /// <inheritdoc/>
  16. public override string Name => "Animancer Settings";
  17. /// <inheritdoc/>
  18. public override string Instructions => null;
  19. /// <inheritdoc/>
  20. public override string HelpURL
  21. => $"{Strings.DocsURLs.APIDocumentation}.{nameof(Editor)}/{nameof(AnimancerSettings)}";
  22. /************************************************************************************************************************/
  23. [NonSerialized] private readonly CachedEditor SettingsEditor = new();
  24. /************************************************************************************************************************/
  25. /// <inheritdoc/>
  26. public override void OnDisable()
  27. {
  28. base.OnDisable();
  29. SettingsEditor.Dispose();
  30. }
  31. /************************************************************************************************************************/
  32. /// <inheritdoc/>
  33. public override void DoBodyGUI()
  34. {
  35. var settings = AnimancerSettings.Instance;
  36. if (settings == null)
  37. return;
  38. AnimancerSettings.Editor.HideNextInfo = true;
  39. SettingsEditor.GetEditor(settings).OnInspectorGUI();
  40. }
  41. /************************************************************************************************************************/
  42. }
  43. }
  44. #endif