Unity 6.3
0 онлайн 63 гостей 3 в системе
Вход

SceneManagerAPI

класс в UnityEngine.SceneManagement

Выполнено в:UnityEngine.CoreModule

Описание

Предоставляет механизм переопределения отдельных SceneManager методы.

Унаследуйтесь от этого базового класса, чтобы предоставить альтернативные реализации поведения C# для конкретных SceneManager методы.

Предупреждение: Класс SceneManagerAPI рассчитан на опытных пользователей. Одновременно может быть активна только одна реализация (через SceneManagerAPI.overrideAPI), так что его использование может вступить в конфликт с любым другим кодом, пытающимся использовать тот же механизм.

Пример определяет, когда загрузка сцены производится по индексу, и регистрирует предупреждение о переключении на загрузку по пути сцены.

using UnityEngine;
using Debug = UnityEngine.Debug;
using UnityEngine.SceneManagement;

public class SceneIndexLogger : SceneManagerAPI { [RuntimeInitializeOnLoadMethod] static void OnRuntimeMethodLoad() { SceneManagerAPI.overrideAPI = new SceneIndexLogger(); }

protected override int GetNumScenesInBuildSettings() { Debug.LogWarning("SceneManager.GetNumScenesInBuildSettings() called, please load scenes by path to avoid issues when scenes are reordered."); return base.GetNumScenesInBuildSettings(); }

protected override Scene GetSceneByBuildIndex(int buildIndex) { Debug.Log($"SceneManager.GetSceneByBuildIndex(buildIndex = {buildIndex}) called, please load scenes by path to avoid issues when scenes are reordered."); return base.GetSceneByBuildIndex(buildIndex); } }

Статические свойства

Свойство Описание
overrideAPIКонкретный экземпляр SceneManagerAPI, используемый для обработки переопределенных методов SceneManager.

Защищенные методы

Метод Описание
GetNumScenesInBuildSettingsПереопределение для настройки поведения функции SceneManager.sceneCountInBuildSettings.
GetSceneByBuildIndexПереопределение для настройки поведения функции SceneManager.GetSceneByBuildIndex.
LoadFirstSceneПереопределение для настройки поведения загрузки первого Scene в сборке плеера stub.
LoadSceneAsyncByNameOrIndexПереопределение для настройки поведения функций SceneManager.LoadScene и SceneManager.LoadSceneAsync.
UnloadSceneAsyncByNameOrIndexПереопределение для настройки поведения функции SceneManager.UnloadSceneAsync.