public void SceneChange(string s, SCENE_SWITCH_TYPE type) { switch (type) { case SCENE_SWITCH_TYPE.INSTANT: SceneChange(s); break; case SCENE_SWITCH_TYPE.DIALOG: GameObject dialogObject = GameObject.Instantiate(Resources.Load <GameObject>("SceneSwitchDialog")); dialogObject.GetComponent <SceneSwitchDialog>().sceneName = s; break; case SCENE_SWITCH_TYPE.TRANSITION: LastSceneName = SceneManager.GetActiveScene().name; //spawn a transition object Transform canvasTransform = Object.FindObjectOfType <Canvas>().gameObject.transform; GameObject transitionObject = new GameObject(); transitionObject.transform.SetParent(canvasTransform); transitionObject.AddComponent <Image>(); FadeOutTransition fadeOut = transitionObject.AddComponent <FadeOutTransition>(); fadeOut.nextSceneName = s; fadeOut.fadeOutTime = 1.0f; fadeOut.OnStart(); break; } }
public virtual void AddFadeOutTransition(int durationInMilliseconds) { var fadeOutTransition = new FadeOutTransition(this, durationInMilliseconds); SystemCore.GUIManager.GuiTransitionManager.AddTransition(fadeOutTransition); foreach (BaseControl baseControl in Children) { baseControl.AddFadeOutTransition(durationInMilliseconds); } }
/// <summary> /// Stops the animation by fading it out over time. /// </summary> /// <param name="fadeOutDuration"> /// The duration over which the existing animation fades out. /// </param> /// <inheritdoc cref="Stop()"/> public void Stop(TimeSpan fadeOutDuration) { if (IsValid) { if (fadeOutDuration > TimeSpan.Zero) { // Fade-out animation. var transition = new FadeOutTransition(fadeOutDuration); transition.AnimationInstance = _animationInstance; _animationManager.Add(transition); } else { // Stop immediately. _animationManager.StopAnimation(_animationInstance); } } }