Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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();
        }