public IEnumerator AnimateWithTimeRoutine(float max, float actual, float duration) { Tweener tween = DOTween.To(() => currentValue, (float x) => { currentValue = x; this.actual.text = x.ToString(); }, actual, duration); yield return(CoUtils.RunParallel(new IEnumerator[] { CoUtils.RunTween(tween), bar.AnimateWithTimeRoutine(Mathf.Max(Mathf.Min(actual, max), 0.0f) / max, duration), }, this)); }