value | Use a subscription of either a UnityAction<Scene, LoadSceneMode> or a method that takes a Scene and a LoadSceneMode. |
Add a delegate to this to get notifications when a Scene has loaded.
Rather than being called directly this script code shows use of a delegate.
This means the sceneLoaded value is added into a list of delegates.
In the script example below a number of method calls are shown.
Specifically the first labelled method OnEnable() is used to
add OnSceneLoaded (), which is not a Unity provided method. The SceneManager.sceneLoaded delegate
can have any method hooked into it and it is OnSceneLoaded () here.
Finally, OnDisable() is used to remove OnSceneLoaded ()
from SceneManager.sceneLoaded.
#pragma strict public class ExampleCode extends MonoBehaviour { // called zero function Awake() { Debug.Log("Awake"); } // called first function OnEnable() { Debug.Log("OnEnable called"); SceneManager.sceneLoaded += OnSceneLoaded; } // called second function OnSceneLoaded(scene: Scene, mode: LoadSceneMode) { Debug.Log("OnSceneLoaded: " + scene.name); Debug.Log(mode); } // called third function Start() { Debug.Log("Start"); } // called when the game is terminated function OnDisable() { Debug.Log("OnDisable"); SceneManager.sceneLoaded -= OnSceneLoaded; } }
using UnityEngine; using UnityEngine.SceneManagement;
public class ExampleCode : MonoBehaviour { // called zero void Awake() { Debug.Log("Awake"); }
// called first void OnEnable() { Debug.Log("OnEnable called"); SceneManager.sceneLoaded += OnSceneLoaded; }
// called second void OnSceneLoaded(Scene scene, LoadSceneMode mode) { Debug.Log("OnSceneLoaded: " + scene.name); Debug.Log(mode); }
// called third void Start() { Debug.Log("Start"); }
// called when the game is terminated void OnDisable() { Debug.Log("OnDisable"); SceneManager.sceneLoaded -= OnSceneLoaded; } }
Did you find this page useful? Please give it a rating: