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;
        }
    }
示例#2
0
        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);
            }
        }
示例#3
0
 /// <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);
         }
     }
 }