SceneAsset
класс в UnityEditor
Наследуется от:Object
Описание
SceneAsset используется для ссылки на объекты Scene в Редакторе.
Это может быть использовано в качестве типа для элементов ObjectField UI, чтобы позволить пользователю выбрать объект Scene в качестве значения поля.
В этом примере показано, как выбрать объект Scene в редакторе. Компонент ScenePicker размещается на игровом объекте в Scene:
using UnityEngine;
public class ScenePicker : MonoBehaviour { [SerializeField] public string scenePath; }
Скрипт ScenePickerEditor должен находиться в каталоге Editor проекта. Он даёт пользовательский инспектор в редакторе, который использует класс SceneAsset в ObjectField, позволяя пользователю выбрать сцену.
using UnityEngine; using UnityEditor;
[CustomEditor(typeof(ScenePicker), true)] public class ScenePickerEditor : Editor { public override void OnInspectorGUI() { ScenePicker picker = target as ScenePicker; SceneAsset oldScene = AssetDatabase.LoadAssetAtPath<SceneAsset>(picker.scenePath);
serializedObject.Update();
EditorGUI.BeginChangeCheck(); SceneAsset newScene = EditorGUILayout.ObjectField("scene", oldScene, typeof(SceneAsset), false) as SceneAsset;
if (EditorGUI.EndChangeCheck()) { string newPath = AssetDatabase.GetAssetPath(newScene); SerializedProperty scenePathProperty = serializedObject.FindProperty("scenePath"); scenePathProperty.stringValue = newPath; } serializedObject.ApplyModifiedProperties(); } }
Унаследованные члены 4
Свойства
| Свойство | Описание |
|---|---|
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |