Руководство API скрипты

SceneManagerAPI

класс в UnityEngine.SceneManagement / Реализовано в: UnityEngine.CoreModule

Описание

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

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

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 Переопределение для настройки поведения загрузки первой сцены в сборке проигрывателя-заглушки.
LoadSceneAsyncByNameOrIndex Переопределение для настройки поведения функций SceneManager.LoadScene и SceneManager.LoadSceneAsync.
UnloadSceneAsyncByNameOrIndex Переопределение для настройки поведения функции SceneManager.UnloadSceneAsync.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3