Beispiel #1
0
        public void Switch(string sceneName, float fadeOutDuration, float fadeInDuration)
        {
            if (isSwitching)
            {
                return;
            }
            isSwitching = true;
            targetScene = sceneName;
            FadeOutProcess fadeOut = new FadeOutProcess(fadeOutDuration, fader);

            fadeOut.TerminateCallback += FadeOutEnded;
            FadeInProcess fadeIn = new FadeInProcess(fadeInDuration, fader);

            fadeIn.TerminateCallback += FadeInEnded;
            fadeOut.Attach(fadeIn);
            procManager.LaunchProcess(fadeOut);
        }
        public void FadeToBlack(float duration, Process.OnTerminateCallback endCallback, float delay = 0f, float endAlpha = 1f, bool useCurrentAlpha = false)
        {
            FadeOutProcess fadeOut = (useCurrentAlpha) ? new FadeOutProcess(duration, fadeGraphic, endAlpha, true) : new FadeOutProcess(duration, fadeGraphic, endAlpha);

            if (endCallback != null)
            {
                fadeOut.TerminateCallback += endCallback;
            }
            if (delay != 0f)
            {
                TimedProcess delayProcess = new TimedProcess(delay);
                delayProcess.Attach(fadeOut);
                pm.LaunchProcess(delayProcess);
            }
            else
            {
                pm.LaunchProcess(fadeOut);
            }
        }