public override IEnumerator onBeginTransition() { // create a single pixel transparent texture so we can do our squares out to the next scene _overlayTexture = Graphics.createSingleColorTexture(1, 1, Color.Transparent); // populate squares yield return(Core.startCoroutine(tickEffectProgressProperty(_squaresEffect, squaresInDuration, easeType))); // load up the new Scene yield return(Core.startCoroutine(loadNextScene())); // dispose of our previousSceneRender. We dont need it anymore. previousSceneRender.Dispose(); previousSceneRender = null; // delay yield return(delayBeforeSquaresInDuration); // unpopulate squares yield return(Core.startCoroutine(tickEffectProgressProperty(_squaresEffect, squaresInDuration, EaseHelper.oppositeEaseType(easeType), true))); transitionComplete(); // cleanup _overlayTexture.Dispose(); Core.contentManager.unloadEffect(_squaresEffect.Name); }
/// <summary> /// called after the previousSceneRender occurs for the first (and only) time. At this point you can load your new Scene after /// yielding one frame (so the first render call happens before scene loading). /// </summary> public virtual IEnumerator onBeginTransition() { yield return(null); yield return(Core.startCoroutine(loadNextScene())); transitionComplete(); }
public override IEnumerator onBeginTransition() { // load up the new Scene yield return(Core.startCoroutine(loadNextScene())); // wind to the new Scene yield return(Core.startCoroutine(tickEffectProgressProperty(_windEffect, duration, easeType))); transitionComplete(); // cleanup Core.content.unloadEffect(_windEffect.Name); }
public override IEnumerator onBeginTransition() { yield return(null); var elapsed = 0f; while (elapsed < duration) { elapsed += Time.deltaTime; _renderScale = Lerps.ease(scaleEaseType, maxScale, minScale, elapsed, duration); _renderRotation = Lerps.ease(rotationEaseType, minRotation, maxRotation, elapsed, duration); yield return(null); } // load up the new Scene yield return(Core.startCoroutine(loadNextScene())); // dispose of our previousSceneRender. We dont need it anymore. previousSceneRender.Dispose(); previousSceneRender = null; yield return(Coroutine.waitForSeconds(delayBeforeMaskOut)); elapsed = 0f; while (elapsed < duration) { elapsed += Time.deltaTime; _renderScale = Lerps.ease( EaseHelper.oppositeEaseType(scaleEaseType), minScale, maxScale, elapsed, duration); _renderRotation = Lerps.ease( EaseHelper.oppositeEaseType(rotationEaseType), maxRotation, minRotation, elapsed, duration); yield return(null); } transitionComplete(); }
public override IEnumerator onBeginTransition() { yield return(null); // load up the new Scene yield return(Core.startCoroutine(loadNextScene())); var elapsed = 0f; while (elapsed < fadeDuration) { elapsed += Time.deltaTime; _color = Lerps.ease(fadeEaseType, ref _fromColor, ref _toColor, elapsed, fadeDuration); yield return(null); } transitionComplete(); }
public override IEnumerator onBeginTransition() { yield return(null); // load up the new Scene yield return(Core.startCoroutine(loadNextScene())); var elapsed = 0f; while (elapsed < duration) { elapsed += Time.deltaTime; _destinationRect = Lerps.ease(transitionEaseType, ref _textureBounds, ref _finalRenderRect, elapsed, duration); yield return(null); } transitionComplete(); }
public override IEnumerator onBeginTransition() { // create a single pixel texture of our fadeToColor _overlayTexture = Graphics.createSingleColorTexture(1, 1, fadeToColor); var elapsed = 0f; while (elapsed < fadeOutDuration) { elapsed += Time.deltaTime; _color = Lerps.ease(fadeEaseType, ref _toColor, ref _fromColor, elapsed, fadeOutDuration); yield return(null); } // load up the new Scene yield return(Core.startCoroutine(loadNextScene())); // dispose of our previousSceneRender. We dont need it anymore. previousSceneRender.Dispose(); previousSceneRender = null; yield return(Coroutine.waitForSeconds(delayBeforeFadeInDuration)); elapsed = 0f; while (elapsed < fadeInDuration) { elapsed += Time.deltaTime; _color = Lerps.ease( EaseHelper.oppositeEaseType(fadeEaseType), ref _fromColor, ref _toColor, elapsed, fadeInDuration); yield return(null); } transitionComplete(); _overlayTexture.Dispose(); }