TransitionLibrarySelectionPreviewSpeed.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //
  2. #if UNITY_EDITOR
  3. using UnityEditor;
  4. using UnityEngine;
  5. namespace Animancer.Editor.TransitionLibraries
  6. {
  7. /// <summary>[Editor-Only]
  8. /// <see cref="ToggledSpeedSlider"/> for <see cref="TransitionLibrarySelectionPreview"/>.
  9. /// </summary>
  10. /// https://kybernetik.com.au/animancer/api/Animancer.Editor.TransitionLibraries/TransitionLibrarySelectionPreviewSpeed
  11. public class TransitionLibrarySelectionPreviewSpeed : ToggledSpeedSlider
  12. {
  13. /************************************************************************************************************************/
  14. private const string
  15. SpeedPrefKey = nameof(TransitionLibrarySelectionPreviewSpeed) + "." + nameof(Speed);
  16. /************************************************************************************************************************/
  17. /// <summary>Creates a new <see cref="TransitionLibrarySelectionPreviewSpeed"/>.</summary>
  18. public TransitionLibrarySelectionPreviewSpeed()
  19. : base(nameof(TransitionLibrarySelectionPreviewSpeed) + ".Show")
  20. {
  21. }
  22. /************************************************************************************************************************/
  23. /// <inheritdoc/>
  24. protected override void OnSetSpeed(float speed)
  25. {
  26. EditorPrefs.SetFloat(SpeedPrefKey, speed);
  27. }
  28. /************************************************************************************************************************/
  29. /// <inheritdoc/>
  30. public override bool DoToggleGUI(Rect area, GUIStyle style)
  31. {
  32. if (float.IsNaN(Speed))
  33. Speed = EditorPrefs.GetFloat(SpeedPrefKey, 1);
  34. return base.DoToggleGUI(area, style);
  35. }
  36. /************************************************************************************************************************/
  37. }
  38. }
  39. #endif