Параметры
value | Используйте подписку UnityAction<Scene, LoadSceneMode> или метод, который принимает Scene и LoadSceneMode. |
Описание
Добавьте к этому делегата, чтобы получать уведомления при загрузке сцены.
Вместо прямого вызова этот код скрипта показывает использование делегата. Это означает, что значение sceneLoaded добавляется в список делегатов.
В приведенном ниже примере скрипта показано несколько вызовов методов. В частности, первый помеченный метод OnEnable() используется для добавления OnSceneLoaded(), который не является методом, предоставленным Unity. К делегату SceneManager.sceneLoaded может быть подключен любой метод, и здесь это OnSceneLoaded(). Наконец, OnDisable() используется для удаления OnSceneLoaded() из SceneManager.sceneLoaded.
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;
}
}