Esempio n. 1
0
    // 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());
    }
Esempio n. 2
0
 public void OnLoadScreenComplete()
 {
     StartCoroutine(OnLoadScene?.Invoke("Menu"));//Lvl Manager hears it.
 }