value | Use a subscription of either a UnityAction<Scene, LoadSceneMode> or a method that takes a Scene and a LoadSceneMode. |
向此事件添加委托,以在加载场景时收到通知。
此脚本代码没有直接调用事件,而是显示了使用委托的情形。
这表示 sceneLoaded 将添加到委托列表中。
下面的脚本示例中显示了许多方法调用。特别是第一个标记的方法 OnEnable() 用于添加 OnSceneLoaded (),后者是 Unity 提供的方法。SceneManager.sceneLoaded 委托中可以附加任何方法,在这里包含的是 OnSceneLoaded ()。最后,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; } }