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

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, если текущий проект был создан как временный проект.
isUpdatingTrue, если Редактор обновляет AssetDatabase.
modifierKeysChangedДелегирование для изменения клавиши модификатора клавиатуры.
projectWindowItemInstanceOnGUIДелегирование событий OnGUI для каждого видимого элемента списка в ProjectWindow.
projectWindowItemOnGUIДелегирование событий OnGUI для каждого видимого элемента списка в ProjectWindow.
searchChangedОбратный вызов возникает всякий раз, когда содержимое окна поиска окна изменяется.
timeSinceStartupВремя с момента запуска редактора. (только для чтения)
updateDelegate периодически вызывался с частотой редактора для выполнения проверок или обновлений.

Статические методы

Метод Описание
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Событие, которое возникает при каждом изменении состояния проекта.
quittingUnity вызывает это событие при выходе из редактора.
updateMainWindowTitleЗарегистрируйте пользовательский обратный вызов, чтобы указать, как может быть генерирован заголовок Unity Editor. Unity будет вызывать этот обратный вызов при загрузке новой сцены, при запуске Unity или при вызове EditorApplication.UpdateMainWindowTitle.
wantsToQuitUnity вызывает это событие, когда приложение редактора хочет завершить работу.

Делегаты

делегат Описание
CallbackFunctionДелегирование для вызова из обратных вызовов EditorApplication.
HierarchyWindowItemCallbackДелегирование для вызова для каждого элемента видимого списка в HierarchyWindow на каждом событии OnGUI.
ProjectWindowItemCallbackДелегирование для вызова для каждого видимого элемента списка в ProjectWindow на каждом событии OnGUI. Используйте это, если вы хотите расширить функциональность окна Project. Например, для отображения информации или инструментов, относящихся к ассетам, которые видны.
ProjectWindowItemInstanceCallbackДелегирование для вызова для каждого видимого элемента списка в ProjectWindow на каждом событии OnGUI. Используйте это, если вы хотите расширить функциональность окна Project. Например, для отображения информации или инструментов, относящихся к ассетам или подактивам, которые видны.
SerializedPropertyCallbackFunctionДелегирование для вызова из обратных вызовов контекстного инспектора EditorApplication.