private IEnumerator BlinkRoutine(int duration) { int interval = duration / 2; visible = true; while (visible) { _alpha = 0; DrawableTweener.TweenColorAlpha(this, 0, 255, interval, Easing.Equation.Linear); while (_alpha < 255) { UpdateAlpha(); yield return(null); } _alpha = 255; DrawableTweener.TweenColorAlpha(this, 255, 0, duration, Easing.Equation.Linear); while (_alpha > 0) { UpdateAlpha(); yield return(null); } } }
private IEnumerator FadeInOutRoutine(int time, OnFinished onFinished) { instance.visible = true; //instance._alpha = 0; instance.alpha = 0; int interval = time / 2; DrawableTweener.TweenColorAlpha(instance, 0, 1, interval, Easing.Equation.CubicEaseOut); yield return(new WaitForMilliSeconds(interval)); DrawableTweener.TweenColorAlpha(instance, 1, 0, interval, Easing.Equation.CubicEaseOut); onFinished?.Invoke(); yield return(new WaitForMilliSeconds(interval)); Destroy(); }
public void FadeOut(int duration = 1000) { DrawableTweener.TweenColorAlpha(this, 255, 0, duration, Easing.Equation.CubicEaseOut); CoroutineManager.StartCoroutine(UpdateFadeOut(), this); }