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

AssetSettingsProvider

класс в UnityEditor

Наследуется от:SettingsProvider

Описание

AssetSettingsProvider это специализация SettingsProvider класс, преобразующий устаревшие настройки в Unified Settings. К устаревшим относятся любые настройки, которые изменялись через инспектор, например файлы *.asset в папке ProjectSettings. Внутри AssetSettingsProvider создаёт Editor для конкретных Ассетов и создает UI для окна Настройки, обворачивая Editor.OnInspectorGUI функции.

Внутри Unity этот класс используется для оборачивания существующих настроек.

using UnityEditor;
using UnityEngine;

// Create a new type of Settings Asset. class MyCustomSettings : ScriptableObject { public const string k_MyCustomSettingsPath = "Assets/Editor/MyCustomSettings.asset";

[SerializeField] private int m_Number;

[SerializeField] private string m_SomeString;

internal static SerializedObject GetSettings() { var settings = AssetDatabase.LoadAssetAtPath<MyCustomSettings>(k_MyCustomSettingsPath); if (settings == null) { settings = ScriptableObject.CreateInstance<MyCustomSettings>(); settings.m_Number = 42; settings.m_SomeString = "The answer to the universe"; AssetDatabase.CreateAsset(settings, k_MyCustomSettingsPath); }

return new SerializedObject(settings); } }

[CustomEditor(typeof(MyCustomSettings))] class MyCustomSettingsEditor : Editor { // Nothing to do, this uses the Generic Editor to display MyCustomSettings properties }

class AssetSettingsProviderRegister { [SettingsProvider] public static SettingsProvider CreateFromFilePath() { // Create an AssetSettingsProvider from a file path: var provider = AssetSettingsProvider.CreateProviderFromAssetPath("Project/AssetSettings/FromFile", MyCustomSettings.k_MyCustomSettingsPath);

// Register keywords from the properties of MyCustomSettings provider.keywords = SettingsProvider.GetSearchKeywordsFromSerializedObject(new SerializedObject(AssetDatabase.LoadAllAssetsAtPath(MyCustomSettings.k_MyCustomSettingsPath))); return provider; }

[SettingsProvider] public static SettingsProvider CreateFromSettingsObject() { // Create an AssetSettingsProvider from a settings object (UnityEngine.Object): var settingsObj = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(MyCustomSettings.k_MyCustomSettingsPath); var provider = AssetSettingsProvider.CreateProviderFromObject("Project/AssetSettings/FromObject", settingsObj);

// Register keywords from the properties of MyCustomSettings provider.keywords = SettingsProvider.GetSearchKeywordsFromSerializedObject(new SerializedObject(settingsObj)); return provider; }

[SettingsProvider] public static SettingsProvider CreateFromSettingsFromFunctor() { // Create an AssetSettingsProvider from a functor that must return a UnityEngine.Object: var provider = new AssetSettingsProvider("Project/AssetSettings/FromFunctor", () => Editor.CreateEditor(AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(MyCustomSettings.k_MyCustomSettingsPath)));

// Register keywords from the properties of MyCustomSettings provider.keywords = SettingsProvider.GetSearchKeywordsFromSerializedObject(new SerializedObject(AssetDatabase.LoadAllAssetsAtPath(MyCustomSettings.k_MyCustomSettingsPath))); return provider; } }

Свойства

Свойство Описание
settingsEditorРедактор предоставляет UI для изменения настроек.

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

Конструктор Описание
AssetSettingsProviderСоздает новый файл AssetSettingsProvider, чтобы можно было объединить старые настройки (т.е. настройки, которые ранее были в файле Inspector).

Открытые методы

Метод Описание
OnActivateПереопределяет SettingsProvider.OnActivate для этого AssetSettingsProvider.
OnDeactivateПереопределяет SettingsProvider.OnDeactivate для этого AssetSettingsProvider.
OnFooterBarGUIПереопределяет SettingsProvider.OnFooterBarGUI для этого AssetSettingsProvider.
OnGUIПереопределяет SettingsProvider.OnGUI для этого AssetSettingsProvider.
OnTitleBarGUIПереопределяет SettingsProvider.OnTitleBarGUI для этого AssetSettingsProvider. Это рисует панель кнопки, которая содержит кнопки "добавить в preset" и "помощь".

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

Метод Описание
CreateProviderFromAssetPathСоздайте AssetSettingsProvider из пути ассета.
CreateProviderFromObjectСоздать AssetSettingsProvider из объекта settings.
CreateProviderFromResourcePathСоздание AssetSettingsProvider из пути ресурса ассета.
Унаследованные члены 4

Свойства

СвойствоОписание
activateHandlerПереопределяет SettingsProvider.OnActivate.
deactivateHandlerПереопределяет SettingsProvider.OnDeactivate.
footerBarGuiHandlerПереопределяет SettingsProvider.OnFooterBarGUI.
guiHandlerПереопределяет SettingsProvider.OnGUI.
hasSearchInterestHandlerПереопределяет SettingsProvider.HasSearchInterest.
inspectorUpdateHandlerПереопределяет SettingsProvider.OnInspectorUpdate.
keywordsПолучает или устанавливает список ключевых слов для сравнения с тем, что ищет пользователь. Когда пользователь вводит значения в поле поиска в окне Настройки, SettingsProvider.HasSearchInterest пытается сопоставить эти ключевые слова с этим списком.
labelПолучает или устанавливает отображаемое имя SettingsProvider, как оно отображается в окне Настройки. Если не установлено, окно Настройки использует последний токен SettingsProvider.settingsPath.
scopeПолучает Область действия SettingsProvider. Область действия определяет, будет ли SettingsProvider отображаться в окне Настройки (SettingsScope.User) или в окне Настройки (SettingsScope.Project).
settingsPathПолучить Путь, используемый для размещения SettingsProvider в дереве окна Настройки. Путь должен быть уникальным среди всех других путей настройки и должен использовать "/" в качестве разделителя.
titleBarGuiHandlerПереопределяет SettingsProvider.OnTitleBarGUI.

Открытые методы

МетодОписание
HasSearchInterestПроверяет, должен ли SettingsProvider появляться, когда пользователь вводит что-то в поле поиска окна Настройки. SettingsProvider пытается найти соответствие поисковых терминов (даже частично) с любым из SettingsProvider.keywords. Поиск не зависит от регистра.
OnInspectorUpdateOnInspectorUpdate вызывается с частотой 10 кадров в секунду, чтобы дать инспектору возможность обновить. Подробнее см. EditorWindow.OnInspectorUpdate.
RepaintЗапросите SettingsWindow для перекраски.

Защищенные методы

МетодОписание
FocusLostРазрешить SettingsProvider уведомляться, когда SettingsWindow теряет фокус.

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

МетодОписание
GetSearchKeywordsFromGUIContentPropertiesИзвлекает ключевые слова поиска из всех открытых статических членов указанного Type.
GetSearchKeywordsFromPathИзвлечение ключевых слов поиска из серийных свойств ассета в определенном пути.
GetSearchKeywordsFromSerializedObjectИзвлечение ключевых слов поиска из серийных свойств SerializedObject.