Exemple #1
0
        public void LoadScene(string sceneName, ETransitionType type = ETransitionType.None, OnBeforeSceneLoadCallback onBeforeSceneLoadCallback = null)
        {
            sceneToLoad             = sceneName;
            beforeSceneLoadCallback = onBeforeSceneLoadCallback;

            transitionsObject.SetActive(true);
            TransitionType  = type;
            TransitionPhase = ETransitionPhase.Out;

            if (TransitionType == ETransitionType.None)
            {
                OnOutComplete();
                OnInComplete();
            }
        }
Exemple #2
0
        public void LoadScene(string sceneName, string transition = NO_TRANSITION, OnBeforeSceneLoadCallback onBeforeSceneLoadCallback = null)
        {
            sceneToLoad             = sceneName;
            beforeSceneLoadCallback = onBeforeSceneLoadCallback;

            transitionsObject.SetActive(true);
            Transition      = transition;
            TransitionPhase = ETransitionPhase.Out;

            if (Transition == NO_TRANSITION)
            {
                OnOutComplete();
                OnInComplete();
            }
        }
Exemple #3
0
        public void OnOutComplete()
        {
            if (!string.IsNullOrWhiteSpace(sceneToLoad))
            {
                beforeSceneLoadCallback?.Invoke();

                if (SceneUtility.GetBuildIndexByScenePath(loadingSceneName) >= 0)
                {
                    SceneManager.LoadScene(loadingSceneName);
                }

                StartCoroutine(CRLoadSceneInBackground(sceneToLoad));
            }
            else
            {
                beforeSceneLoadCallback?.Invoke();
                TransitionPhase = ETransitionPhase.In;
            }

            sceneToLoad             = null;
            beforeSceneLoadCallback = null;
        }