using System; using Unity.Jobs; namespace UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.Jobs { /// /// Interface representing a tween job's basic functions. /// /// Struct type of tween output. [Obsolete("The Affordance System namespace and all associated classes have been deprecated. The existing affordance system will be moved, replaced and updated with a new interaction feedback system in a future version of XRI.")] public interface ITweenJob : IJob where T : struct { /// /// Typed job data used in tween job. /// TweenJobData jobData { get; set; } /// /// Function used to interpolate between a tween's start value and target value. /// /// Tween start value. /// Tween target value. /// Value between 0-1 used to evaluate the output between the from and to values. /// Returns the interpolation from to . T Lerp(T from, T to, float t); /// /// Function used to compare two values when evaluating a tween to determine if they're nearly equal in order /// to short-circuit the tween. /// /// First value in equality comparison. /// Second value in equality comparison. /// Returns if values are nearly equal. bool IsNearlyEqual(T from, T to); } }