IEnumerator DoPlay() { fx.UpdateTime(0f); float curTime = 0f; while (curTime < delay) { yield return(null); curTime += isTimeScaled ? Time.deltaTime : Time.unscaledDeltaTime; mCurT = Mathf.Clamp01(curTime / delay); fx.UpdateTime(mCurT); } if (signalEnded) { signalEnded.Invoke(); } if (endCallback != null) { endCallback(); } yield return(null); fx.End(); mPlayRout = null; }
IEnumerator SceneManager.ITransition.Out() { if (transitionOut) { float curTime = 0f; while (curTime < delay) { yield return(null); curTime += isTimeScaled ? Time.deltaTime : Time.unscaledDeltaTime; transitionOut.UpdateTime(curTime / delay); } } else if (transitionIn) { transitionIn.UpdateTime(0f); } }