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

RuntimeInitializeOnLoadMethodAttribute

класс в UnityEngine

Наследуется от:Scripting.PreserveAttribute

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

Описание

Используйте этот атрибут для получения обратного вызова при запуске времени выполнения и загрузке первой сцены.

Используйте различные параметры для RuntimeInitializeLoadType, чтобы управлять, когда метод вызван в последовательности запуска.

В следующем списке показан порядок выполнения обратных вызовов RuntimeInitializeLoadType:

  1. Инициализируются различные низкоуровневые системы (window, assembly, gfx и т.д.)
  2. Вызываются обратные вызова RuntimeInitializeLoadType.SubsystemRegistration и RuntimeInitializeLoadType.AfterAssembliesLoaded.
  3. Больше настройки (системы ввода и т.д.)
  4. Вызывается обратный вызов RuntimeInitializeLoadType.BeforeSplashScreen.
  5. Первая сцена начинается загрузка.
  6. Обратный вызов RuntimeInitializeLoadType.BeforeSceneLoad вызван. Объекты сцены загружены, но Awake еще не вызван. Все объекты считаются неактивными.
  7. Awake и OnEnable вызываются на MonoBehaviours.
  8. RuntimeInitializeLoadType.AfterSceneLoad Объекты сцены считаются полностью загруженными и настроенными. Активные объекты можно найти с помощью команды FindObjectsByType.

Вышеуказанные детали относятся к запуску сборки Player. При переходе в режим Play в Редакторе обеспечиваются те же вызова.

Время вызова callback по умолчанию RuntimeInitializeLoadType.AfterSceneLoad. Порядок выполнения в каждом из callbacks RuntimeInitializeLoadType не гарантируется.

Примечание: Используйте AlwaysLinkAssemblyAttribute на пакетах или предкомпилированных сборках, которые содержат один или несколько методов с атрибутом [RuntimeInitializeOnLoadMethod], но которые не могут содержать типы, используемые прямо или косвенно в любых сценах, созданных для проекта.

Дополнительные ресурсы: Управляемый стриптинг кода

// Demonstration of the RuntimeInitializeOnLoadMethod attribute
using UnityEngine;

class MyClass { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)] static void OnBeforeSplashScreen() { Debug.Log("Before SplashScreen is shown and before the first scene is loaded."); }

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] static void OnBeforeSceneLoad() { Debug.Log("First scene loading: Before Awake is called."); }

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] static void OnAfterSceneLoad() { Debug.Log("First scene loaded: After Awake is called."); }

[RuntimeInitializeOnLoadMethod] static void OnRuntimeInitialized() { Debug.Log("Runtime initialized: First scene loaded: After Awake is called."); } }

Свойства

Свойство Описание
loadTypeКонтроль времени вызова обратного вызова.

Конструкторы

Конструктор Описание
RuntimeInitializeOnLoadMethodAttributeИспользуйте RuntimeInitializeLoadType для управления, когда будет вызван обратный вызов.