Описание
SceneAsset используется для ссылки на объекты сцены в редакторе.
Этот тип можно использовать в качестве типа для элементов пользовательского интерфейса ObjectField, чтобы пользователь мог выбрать объект сцены в качестве значения поля.
В этом примере показано, как выбрать сцену в редакторе. Компонент ScenePicker размещается на игровом объекте в Сцене:
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()
{
var picker = target as ScenePicker;
var oldScene = AssetDatabase.LoadAssetAtPath<SceneAsset>(picker.scenePath);
serializedObject.Update();
EditorGUI.BeginChangeCheck();
var newScene = EditorGUILayout.ObjectField("scene", oldScene, typeof(SceneAsset), false) as SceneAsset;
if (EditorGUI.EndChangeCheck())
{
var newPath = AssetDatabase.GetAssetPath(newScene);
var scenePathProperty = serializedObject.FindProperty("scenePath");
scenePathProperty.stringValue = newPath;
}
serializedObject.ApplyModifiedProperties();
}
}
Унаследованные члены
Свойства
hideFlags | Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name | Имя объекта. |
Публичные Методы
GetInstanceID | Возвращает id экземпляра объекта. |
ToString | Возвращает имя объекта. |
Статические Методы
Destroy | Удаляет игровой объект, компонент или актив. |
DestroyImmediate | Уничтожает объект obj. Вместо этого рекомендуется использовать метод Destroy. |
DontDestroyOnLoad | Не уничтожает целевой объект при загрузке новой сцены. . |
FindObjectOfType | Возвращает первый активный загруженный объект. |
FindObjectsOfType | Получает список всех загруженных объектов. |
Instantiate | Клонирует исходный объект и возвращает клон. |
Операторы
bool | Объект существует? |
operator != | Сравнивает, ссылаются ли два объекта на другой объект. |
operator == | Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |