TransitionAsset.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //
  2. using UnityEngine;
  3. namespace Animancer
  4. {
  5. /// <inheritdoc/>
  6. /// https://kybernetik.com.au/animancer/api/Animancer/TransitionAsset
  7. [CreateAssetMenu(
  8. menuName = Strings.MenuPrefix + "Transition Asset",
  9. order = Strings.AssetMenuOrder + 1)]
  10. [AnimancerHelpUrl(typeof(TransitionAsset))]
  11. public class TransitionAsset : TransitionAsset<ITransitionDetailed>
  12. {
  13. /************************************************************************************************************************/
  14. #if UNITY_EDITOR
  15. /************************************************************************************************************************/
  16. /// <summary>[Editor-Only] Sets the <see cref="TransitionAssetBase.CreateInstance"/>.</summary>
  17. [UnityEditor.InitializeOnLoadMethod]
  18. private static void SetMainImplementation()
  19. => CreateInstance = transition =>
  20. {
  21. var asset = CreateInstance<TransitionAsset>();
  22. asset.Transition = transition;
  23. return asset;
  24. };
  25. /************************************************************************************************************************/
  26. /// <inheritdoc/>
  27. protected override void Reset()
  28. {
  29. Transition = new ClipTransition();
  30. }
  31. /************************************************************************************************************************/
  32. #endif
  33. /************************************************************************************************************************/
  34. }
  35. }