IEnumerator Transition(string sceneName, DestinationTag destinationTag) { FadeUI fadeUI = Instantiate(fadeCanvasPrefabs); SaveManager.Instance.SavePlayerData(); yield return(StartCoroutine(fadeUI.FadeOutScene(2f))); if (!SceneManager.GetActiveScene().name.Equals(sceneName)) { yield return(SceneManager.LoadSceneAsync(sceneName)); yield return(Instantiate(playerPrefabs, GetDestination(destinationTag).transform.position, GetDestination(destinationTag).transform.rotation)); SaveManager.Instance.LoadPlayerData(); } else { GameObject player = GameManager.Instance.playerStats.gameObject; player.GetComponent <NavMeshAgent>().enabled = false; player.transform.SetPositionAndRotation(GetDestination(destinationTag).transform.position, GetDestination(destinationTag).transform.rotation); player.GetComponent <NavMeshAgent>().enabled = true; } yield return(StartCoroutine(fadeUI.FadeInScene(2f))); }
private IEnumerator TransitionToStartScene() { FadeUI fadeUI = Instantiate(fadeCanvasPrefabs); yield return(StartCoroutine(fadeUI.FadeOutScene(2f))); yield return(SceneManager.LoadSceneAsync("StartScene")); PlayerPrefs.DeleteAll(); yield return(StartCoroutine(fadeUI.FadeInScene(2f))); }
private IEnumerator TransitionToGameScene(string sceneName) { FadeUI fadeUI = Instantiate(fadeCanvasPrefabs); if (sceneName != "") { yield return(StartCoroutine(fadeUI.FadeOutScene(2f))); yield return(SceneManager.LoadSceneAsync(sceneName)); foreach (var VARIABLE in FindObjectsOfType <TransitionDestination>()) { if (VARIABLE.destinationTag == DestinationTag.ENTER) { yield return(Instantiate(playerPrefabs, VARIABLE.transform.position, VARIABLE.transform.rotation)); break; } } yield return(StartCoroutine(fadeUI.FadeInScene(2f))); } }