예제 #1
0
        private IEnumerator Transition()
        {
            if (sceneToLoad < 0)
            {
                print("Scene to load is not set on " + gameObject.name + "!");
                yield break;
            }

            DontDestroyOnLoad(gameObject);

            SceneTransition sceneTransition = FindObjectOfType <SceneTransition>();

            yield return(sceneTransition.FadeOut(fadeOutTime));

            SavingWrap savingWrap = FindObjectOfType <SavingWrap>();

            savingWrap.Save();

            yield return(SceneManager.LoadSceneAsync(sceneToLoad));

            savingWrap.Load();

            Portal otherPortal = GetOtherPortal();

            UpdatePlayer(otherPortal);

            savingWrap.Save();

            yield return(new WaitForSeconds(loadWaitTime));

            yield return(sceneTransition.FadeIn(fadeInTime));

            Destroy(gameObject);
        }
 void Start()
 {
     st = GetComponent <SceneTransition>();
     currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
 }