/// <summary>Contains 'start' and 'end' values of an animation in addition to <see cref="TweenSettings"/>. Can be serialized and tweaked from the Inspector in Unity 2020.1+.<br/>
/// Use this struct when the 'start' and 'end' values of an animation are known in advance.</summary>
/// <example>Tweak animation from the Inspector, then pass the settings to the Tween method:
/// <summary>Use this method to choose the direction of an animation based on the '<paramref name="toEndValue"/>' parameter.</summary>
/// <param name="toEndValue">If true, returns TweenSettings to animate towards the <see cref="endValue"/>.<br/>
/// If false, returns TweenSettings to animate towards the <see cref="startValue"/>.</param>
/// <param name="_startFromCurrent">If true (default), the animation will start from the current value. Useful to prevent abrupt changes in case the previous animation if still running.<br/>
/// If false, the animation will start from the <see cref="startValue"/> or the <see cref="endValue"/> depending on the <paramref name="toEndValue"/> parameter.</param>
/// <example>For example, to animate a window to an opened or closed position:
/// <code>
/// // Tweak all animation properties from Inspector
Debug.LogWarning(nameof(startFromCurrent)+" is already enabled on this TweenSettings. The "+nameof(WithDirection)+"() should be called on the TweenSettings once to choose the direction.");
/// <summary> Similar to <see cref="WithDirection(bool,bool)"/>, but intended for use with custom tweens.<br/>
/// Custom tweens (Tween.Custom) don't know the current value of the animated property, so this method addresses this limitation.</summary>
/// <param name="currentValue">Pass the current value of the animated property to start the tween from the current value and prevent abrupt changes.</param>