private static IEnumerator LerpFloatRoutine(FloatLerpContainer data, Action <float> callback, Action endCallback = null) { float elapsed = 0; while (elapsed < data.Duration) { data.StartValue = Mathf.Lerp(data.StartValue, data.TargetValue, elapsed / data.Duration); callback.Invoke(data.StartValue); elapsed += Time.deltaTime; yield return(null); } data.StartValue = data.TargetValue; callback.Invoke(data.StartValue); endCallback?.Invoke(); }
public static Coroutine LerpFloat(FloatLerpContainer data, Action <float> callback, Action endCallback = null) { CheckForObject(); return(_routinesObject.StartCoroutine(LerpFloatRoutine(data, callback, endCallback))); }