SceneManager.sceneUnloaded
Параметры
| Параметр | Описание |
|---|---|
| значение | Используйте подписку либо UnityAction<Scene>, либо метод, который принимает аргумент типа Scene. |
Описание
Добавьте делегата к этому, чтобы получать уведомления, когда Scene разгрузился.
Вместо прямого вызова этот код скрипт показывает использование делегирования. Это означает, что значение sceneUnloaded добавляется в список делегированных значений.
В примере скрипт показывает вызов метода. В частности, функция OnSceneUnloaded добавляется в sceneUnloaded. SceneUnloaded вызывает, когда Scene, с которым она связана, закрывается. В этот момент SceneUnloaded должен быть удален из списка sceneUnloaded.
using UnityEngine; using UnityEngine.SceneManagement;
public class SceneLoaded1 : MonoBehaviour { public void Start() { SceneManager.sceneUnloaded += OnSceneUnloaded; Debug.Log("Start: SceneLoaded1"); }
private void OnSceneUnloaded(Scene current) { Debug.Log("OnSceneUnloaded: " + current); }
void Update() { if (Input.GetKey("space")) { Debug.Log("Quitting Scene1"); ChangeScene(); } }
void ChangeScene() { Debug.Log("Changing to Scene2");
SceneManager.LoadScene("Scene2"); }
void OnDestroy() { Debug.Log("OnDestroy"); } }
SceneLoaded2 просто объявляет, что это активный Scene.
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class SceneLoaded2 : MonoBehaviour { public void Start() { Debug.Log("SceneLoaded2"); } }