private void TaskFinished(BehaviourTask task) { if (_currentHighlights.TryGetValue(task.Index, out var highlight)) { _currentHighlights.Remove(task.Index); var anim = ValueAnimation <float> .Create(highlight, (a, b, t) => Mathf.Lerp(a, b, Easing.OutQuad(t))); anim.from = 1f; anim.to = 0f; anim.durationMs = 500; anim.OnCompleted(highlight.RemoveFromHierarchy); anim.valueUpdated = (e, value) => e.style.opacity = value; anim.Start(); } }
private ValueAnimation <StyleValues> Start(Func <VisualElement, StyleValues> fromValueGetter, StyleValues to, int durationMs) { return(StartAnimation(ValueAnimation <StyleValues> .Create(this, Lerp.Interpolate), fromValueGetter, to, durationMs, AssignStyleValues)); }
ValueAnimation <Quaternion> ITransitionAnimations.Start(Func <VisualElement, Quaternion> fromValueGetter, Quaternion to, int durationMs, Action <VisualElement, Quaternion> onValueChanged) { return(StartAnimation(ValueAnimation <Quaternion> .Create(this, Lerp.Interpolate), fromValueGetter, to, durationMs, onValueChanged)); }