TransitionSortMode.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //
  2. #if UNITY_EDITOR
  3. using UnityEngine;
  4. namespace Animancer.Editor.TransitionLibraries
  5. {
  6. /// <summary>[Editor-Only]
  7. /// Sorting algorithms for <see cref="Animancer.TransitionLibraries.TransitionLibraryDefinition.Transitions"/>.
  8. /// </summary>
  9. /// https://kybernetik.com.au/animancer/api/Animancer.Editor.TransitionLibraries/TransitionSortMode
  10. public enum TransitionSortMode
  11. {
  12. /************************************************************************************************************************/
  13. /// <summary>Manual sorting.</summary>
  14. Custom,
  15. /// <summary>Based on the transition file names.</summary>
  16. Name,
  17. /// <summary>Based on the transition file paths.</summary>
  18. Path,
  19. /// <summary>Based on the transition types then file names.</summary>
  20. TypeThenName,
  21. /// <summary>Based on the transition types then file paths.</summary>
  22. TypeThenPath,
  23. /************************************************************************************************************************/
  24. }
  25. /// https://kybernetik.com.au/animancer/api/Animancer.Editor.TransitionLibraries/TransitionLibraryEditorData
  26. public partial class TransitionLibraryEditorData
  27. {
  28. /************************************************************************************************************************/
  29. [SerializeField]
  30. private TransitionSortMode _TransitionSortMode;
  31. /// <summary>[<see cref="SerializeField"/>] The algorithm to use for sorting transitions.</summary>
  32. public TransitionSortMode TransitionSortMode
  33. {
  34. get => _TransitionSortMode;
  35. set
  36. {
  37. if (_TransitionSortMode == value)
  38. return;
  39. _TransitionSortMode = value;
  40. if (Library != null)
  41. TransitionLibrarySort.Sort(Library);
  42. }
  43. }
  44. /************************************************************************************************************************/
  45. }
  46. }
  47. #endif