12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //
- namespace Animancer.Units
- {
- /// <summary>[Editor-Conditional]
- /// Causes a float field to display using 3 fields: Normalized, Seconds, and Frames.
- /// </summary>
- /// <remarks>
- /// <strong>Documentation:</strong>
- /// <see href="https://kybernetik.com.au/animancer/docs/manual/transitions#time-fields">
- /// Time Fields</see>
- /// </remarks>
- /// https://kybernetik.com.au/animancer/api/Animancer.Units/AnimationTimeAttribute
- ///
- [System.Diagnostics.Conditional(Strings.UnityEditor)]
- public sealed class AnimationTimeAttribute : UnitsAttribute
- {
- /************************************************************************************************************************/
- /// <summary>A unit of measurement used by the <see cref="AnimationTimeAttribute"/>.</summary>
- public enum Units
- {
- /// <summary>A value of 1 represents the end of the animation.</summary>
- Normalized = 0,
- /// <summary>A value of 1 represents 1 second.</summary>
- Seconds = 1,
- /// <summary>A value of 1 represents 1 frame.</summary>
- Frames = 2,
- }
- /// <summary>An explanation of the suffixes used in fields drawn by this attribute.</summary>
- public const string Tooltip = "x = Normalized, s = Seconds, f = Frames";
- /// <summary>The <see cref="UnitsAttribute.Multipliers"/> used by instances of this attribute.</summary>
- private static new readonly float[] Multipliers = new float[3];// Calculated immediately before each use.
- /// <summary>The <see cref="UnitsAttribute.Suffixes"/> used by instances of this attribute.</summary>
- private static new readonly string[] Suffixes = new string[3] { "x", "s", "f" };
- /************************************************************************************************************************/
- /// <summary>Cretes a new <see cref="AnimationTimeAttribute"/>.</summary>
- public AnimationTimeAttribute(Units units)
- : base(Multipliers, Suffixes, (int)units)
- { }
- /************************************************************************************************************************/
- }
- }
|