EditorApplication
класс в UnityEditor
Описание
Предоставляет набор статических утилит, свойств и событий для взаимодействия с самим приложением Unity Editor.
Использование EditorApplication для проверки различных свойств в текущем сеансе Редактора или в качестве строительного блока для создания настраиваемых инструментов и рабочих процессов. Дополнительные сведения о расширении Редактора см. Поддержка редактора UI.
Учтите, что этот класс доступен только в редакторе. О похожих возможностях, относящихся к собираемому проекту, см. Application.
В следующем примере мы используем EditorApplication класс, чтобы выстроить рабочий процесс, позволяющий запускать игру с главной сцены, заданной в профиле сборки, не переходя к ней вручную. При возврате в режим редактирования мы восстанавливаем ваше рабочее состояние.
using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; [InitializeOnLoad] public static class PlayFromFirstScene { static SceneSetup[] s_PreviousAuthoringSceneSetup; [MenuItem("Examples/Play From First Scene", isValidateFunction: true)] static bool CanExecute() { return SceneManager.sceneCountInBuildSettings > 0 && !EditorApplication.isPlayingOrWillChangePlaymode; } [MenuItem("Examples/Play From First Scene")] static void Execute() { if (!EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) return; s_PreviousAuthoringSceneSetup = EditorSceneManager.GetSceneManagerSetup(); EditorSceneManager.OpenScene(SceneUtility.GetScenePathByBuildIndex(0), OpenSceneMode.Single); EditorApplication.EnterPlaymode(); } static PlayFromFirstScene() { EditorApplication.playModeStateChanged += OnPlaymodeStateChanged; } static void OnPlaymodeStateChanged(PlayModeStateChange state) { if (state == PlayModeStateChange.EnteredEditMode && s_PreviousAuthoringSceneSetup != null) { EditorSceneManager.RestoreSceneManagerSetup(s_PreviousAuthoringSceneSetup); s_PreviousAuthoringSceneSetup = null; } } }
Дополнительные ресурсы: ,Application,, ,EditorWindow,, ,Editor,.
Статические свойства
| Свойство | Описание |
|---|---|
| applicationContentsPath | Путь к папке содержимого редактора Unity. (только для чтения) |
| applicationPath | Получает путь к приложению Unity Editor. (только для чтения) |
| applicationToolsPath | Путь к папке Unity Editor Tools. (только для чтения) |
| contextualPropertyMenu | Обратный вызов возбуждается каждый раз, когда пользователь контекстно щелкнет свойство в Inspector. |
| delayCall | Делегат, который вызывается один раз после обновления всех инспекторов. |
| hierarchyWindowItemOnGUI | Делегирование событий OnGUI для каждого видимого элемента списка в HierarchyWindow. |
| isCompiling | Компилирует ли редактор скрипты? (только для чтения) |
| isCreateFromTemplate | Возвращает true, если текущий проект был создан из проекта шаблона. |
| isFocused | Является ли редактор фокусируемым окном операционной системы. (только для чтения) |
| isPaused | Приостановлен ли редактор. |
| isPlaying | Находится ли редактор в режиме воспроизведения. |
| isPlayingOrWillChangePlaymode | Состояние приложения редактора, истинное только тогда, когда редактор находится в режиме воспроизведения или собирается в него войти. (Только для чтения) |
| isRemoteConnected | Редактор в настоящее время подключен к клиентскому приложению Unity Remote 4. |
| isTemporaryProject | Возвращает true, если текущий проект был создан как временный проект. |
| isUpdating | True, если Редактор обновляет AssetDatabase. |
| modifierKeysChanged | Делегирование для изменения клавиши модификатора клавиатуры. |
| projectWindowItemInstanceOnGUI | Делегирование событий OnGUI для каждого видимого элемента списка в ProjectWindow. |
| projectWindowItemOnGUI | Делегирование событий OnGUI для каждого видимого элемента списка в ProjectWindow. |
| searchChanged | Обратный вызов возникает всякий раз, когда содержимое окна поиска окна изменяется. |
| timeSinceStartup | Время с момента запуска редактора. (только для чтения) |
| update | Delegate периодически вызывался с частотой редактора для выполнения проверок или обновлений. |
Статические методы
| Метод | Описание |
|---|---|
| Beep | Воспроизведение системного звука. |
| DirtyHierarchyWindowSorting | Установите метод сортировки иерархии как грязный. |
| EnterPlaymode | Переключает редактор в режим воспроизведения. |
| ExecuteMenuItem | Вызов пункта меню в указанном пути. |
| Exit | Выход из редактора Unity. |
| ExitPlaymode | Переключает редактор в режим редактирования. |
| LockReloadAssemblies | Предотвращает загрузку сборок, когда это неудобно. |
| OpenProject | Откройте другой проект. |
| QueuePlayerLoopUpdate | Обычно обновление цикла проигрывателя происходит в редакторе при изменении Scene. Этот метод позволяет поставить в очередь обновление цикла проигрывателя независимо от изменения Scene. |
| RepaintHierarchyWindow | Может использоваться для обеспечения перекраски HierarchyWindow. |
| RepaintProjectWindow | Может использоваться для обеспечения перекраски ProjectWindow. |
| SetTemporaryProjectKeepPath | Задает путь, в котором Unity должен хранить текущий временный проект, когда проект закрывается. |
| Step | Выполнение одного кадра. |
| UnlockReloadAssemblies | Необходимо вызывать после LockReloadAssemblies, чтобы снова разрешить загрузку сборок. |
| UpdateMainWindowTitle | Принуждает Unity Editor обновить заголовок окна. Эта функция автоматически вызывается при загрузке новой сцены или при запуске редактора. Пользователь, зарегистрировавший обратный вызов на EditorApplication.updateMainWindowTitle, может вызвать эту функцию для принудительного обновления заголовка окна. |
Мероприятия
| Мероприятие | Описание |
|---|---|
| focusChanged | Поднимается, когда редактор получает или теряет фокус в операционной системе. |
| hierarchyChanged | Событие, возникающее при изменении объекта или группы объектов в иерархии. |
| pauseStateChanged | Событие, возникающее при изменении состояния паузы редактора. |
| playModeStateChanged | Событие, возникающее при изменении состояния режима воспроизведения редактора. |
| projectChanged | Событие, которое возникает при каждом изменении состояния проекта. |
| quitting | Unity вызывает это событие при выходе из редактора. |
| updateMainWindowTitle | Зарегистрируйте пользовательский обратный вызов, чтобы указать, как может быть генерирован заголовок Unity Editor. Unity будет вызывать этот обратный вызов при загрузке новой сцены, при запуске Unity или при вызове EditorApplication.UpdateMainWindowTitle. |
| wantsToQuit | Unity вызывает это событие, когда приложение редактора хочет завершить работу. |
Делегаты
| делегат | Описание |
|---|---|
| CallbackFunction | Делегирование для вызова из обратных вызовов EditorApplication. |
| HierarchyWindowItemCallback | Делегирование для вызова для каждого элемента видимого списка в HierarchyWindow на каждом событии OnGUI. |
| ProjectWindowItemCallback | Делегирование для вызова для каждого видимого элемента списка в ProjectWindow на каждом событии OnGUI. Используйте это, если вы хотите расширить функциональность окна Project. Например, для отображения информации или инструментов, относящихся к ассетам, которые видны. |
| ProjectWindowItemInstanceCallback | Делегирование для вызова для каждого видимого элемента списка в ProjectWindow на каждом событии OnGUI. Используйте это, если вы хотите расширить функциональность окна Project. Например, для отображения информации или инструментов, относящихся к ассетам или подактивам, которые видны. |
| SerializedPropertyCallbackFunction | Делегирование для вызова из обратных вызовов контекстного инспектора EditorApplication. |