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; }
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); } }
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"); }
private void OnEnable() { if (fromCamera != null) { currentEffect = fromCamera.GetComponentInChildren <CameraTransitionBase>(); if (currentEffect == null) { UpdateEffect(transition); } } if (renderTextureMode == RenderTextureModes.Automatic) { CreateRenderTexture(); } }
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(); } }