// Funzione richiamata dall'esterno per caricare in modo async una scena. Nell'attesa di caricamento mostra una LoadingScene con una progressBar. private static IEnumerator LoadSceneEmitter(Scene scene) { // Si crea una funzione di callBack che verrà chiamata al primo frame di update del GameObject LoaderCallback all'interno della loadingScene. onLoaderCallback = () => { // Funzione che crea un GameObject dummy che estenda MonoBehaviour altrimenti non si può usare la coroutine GameObject dummy = new GameObject("Loading Game object"); dummy.AddComponent <LoadingMonoBehaviour>().StartCoroutine(loadSceneAsync(scene)); }; OnLoadScene?.Invoke(scene); yield return(new WaitForSeconds(transitionDuration)); // Si carica la LoadingScene SceneManager.LoadScene(Scene.LoadingScene.ToString()); }
public void OnLoadScreenComplete() { StartCoroutine(OnLoadScene?.Invoke("Menu"));//Lvl Manager hears it. }