示例#1
0
        private IEnumerator TransitionCoroutine()
        {
            while (currentEffect.Progress < 1.0f)
            {
                if (progressMode == ProgressModes.Automatic)
                {
                    transitionLife += UnityEngine.Time.deltaTime;

                    currentEffect.Progress = Easing.Ease(easeType, easeMode, 0.0f, 1.0f, (transitionLife / transitionTime));
                }

                yield return(null);
            }

            transitionLife = 0.0f;

            fromCamera.gameObject.SetActive(false);
            toCamera.gameObject.SetActive(true);

            FromCamera             = null;
            ToCamera               = null;
            currentEffect.Progress = 0.0f;
            currentEffect          = null;

            isRunning = false;
        }
示例#2
0
        private void UpdateEffect(CameraTransitionEffects newEffect)
        {
            transition = newEffect;

            if (currentEffect != null)
            {
                Destroy(currentEffect);
            }

            switch (transition)
            {
            case CameraTransitionEffects.Cube:              currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionCube>(); break;

            case CameraTransitionEffects.Doom:              currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionDoom>(); break;

            case CameraTransitionEffects.FadeToColor:       currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionFadeToColor>(); break;

            case CameraTransitionEffects.FadeToGrayscale:   currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionFadeToGrayscale>(); break;

            case CameraTransitionEffects.Flash:             currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionFlash>(); break;

            case CameraTransitionEffects.Flip:              currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionFlip>(); break;

            case CameraTransitionEffects.Fold:              currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionFold>(); break;

            case CameraTransitionEffects.Gate:              currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionGate>(); break;

            case CameraTransitionEffects.Glitch:            currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionGlitch>(); break;

            case CameraTransitionEffects.LinearBlur:        currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionLinearBlur>(); break;

            case CameraTransitionEffects.Mosaic:            currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionMosaic>(); break;

            case CameraTransitionEffects.PageCurl:          currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionPageCurl>(); break;

            case CameraTransitionEffects.PageCurlAdvanced:  currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionPageCurlAdvanced>(); break;

            case CameraTransitionEffects.Pixelate:          currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionPixelate>(); break;

            case CameraTransitionEffects.Radial:            currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionRadial>(); break;

            case CameraTransitionEffects.RandomGrid:        currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionRandomGrid>(); break;

            case CameraTransitionEffects.SmoothCircle:      currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionSmoothCircle>(); break;

            case CameraTransitionEffects.SmoothLine:        currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionSmoothLine>(); break;

            case CameraTransitionEffects.Swap:              currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionSwap>(); break;

            case CameraTransitionEffects.Valentine:         currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionValentine>(); break;

            case CameraTransitionEffects.WarpWave:          currentEffect = fromCamera.gameObject.AddComponent <CameraTransitionWarpWave>(); break;
            }

            if (currentEffect == null)
            {
                Debug.LogWarningFormat("No camera effect found in '{0}'", fromCamera.name);
            }
        }
示例#3
0
        private IEnumerator TransitionCoroutine()
        {
            if (transitionStartEvent != null)
            {
                transitionStartEvent(transition);
            }

            //Debug.Log("transition start");

            while (currentEffect.Progress < 1.0f)
            {
                if (progressMode == ProgressModes.Automatic)
                {
                    transitionLife += UnityEngine.Time.deltaTime;

                    currentEffect.Progress = Easing.Ease(easeType, easeMode, 0.0f, 1.0f, (transitionLife / transitionTime));
                }

                if (transitionProgressEvent != null)
                {
                    transitionProgressEvent(transition, currentEffect.Progress);
                }

                yield return(null);
            }

            transitionLife = 0.0f;

            //fromCamera.gameObject.SetActive(false);
            //toCamera.gameObject.SetActive(true);

            fromCamera.enabled = false;
            toCamera.enabled   = true;

            FromCamera             = null;
            ToCamera               = null;
            currentEffect.Progress = 0.0f;
            currentEffect          = null;

            isRunning = false;

            if (transitionEndEvent != null)
            {
                transitionEndEvent(transition);
            }

            if (worldChanger != null)
            {
                worldChanger.BroadcastTransitionCompleteEvent();
            }
            if (mainMenuController != null)
            {
                mainMenuController.BroadcastTransitionCompleteEvent();
            }
            //Debug.Log("camera transition end");
        }
示例#4
0
        private void OnEnable()
        {
            if (fromCamera != null)
            {
                currentEffect = fromCamera.GetComponentInChildren <CameraTransitionBase>();
                if (currentEffect == null)
                {
                    UpdateEffect(transition);
                }
            }

            if (renderTextureMode == RenderTextureModes.Automatic)
            {
                CreateRenderTexture();
            }
        }
示例#5
0
        private void OnEnable()
        {
            //  CHAD's STUFF
            worldChanger       = FindObjectOfType <WorldChanger>();
            mainMenuController = FindObjectOfType <MainMenuController>();

            if (fromCamera != null)
            {
                currentEffect = fromCamera.GetComponentInChildren <CameraTransitionBase>();
                if (currentEffect == null)
                {
                    UpdateEffect(transition);
                }
            }

            if (renderTextureMode == RenderTextureModes.Automatic)
            {
                CreateRenderTexture();
            }
        }