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); } }