EditorFeatureProfile
Данные ограничений интерфейса редактора, сохраняемые в .profile.
Профиль может скрывать рабочие области, классы и свойства в инструментах редактора. Он не удаляет данные проекта или классы движка, не уменьшает экспорт и не является системой прав. SetDisable*() меняют объект данных; SaveToFile()/LoadFromFile() работают с JSON, но не активируют профиль.
Для применения используйте Editor → Manage Editor Features… → Import → Make Current; Reset to Default возвращает обычный интерфейс. Запреты native-классов и их контекстных редакторов наследуются, а IsClassPropertyDisabled() читает точную пару класса и свойства.
Создание, перенос и проверенный C#-пример.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
EditorFeatureProfileКонструктор
public EditorFeatureProfile();Методы11
GetFeatureNamestring
public string GetFeatureName(EditorFeatureProfile.Feature feature);Возвращает читаемую подпись возможности редактора. Не используйте переводимую подпись как постоянный ключ JSON или идентификатор правила.
| Имя | Тип | По умолчанию |
|---|---|---|
feature | EditorFeatureProfile.Feature | — |
featureДопустимый элемент Feature; Max обозначает размер enum, а не возможность.
stringОтображаемое имя возможности.
IsClassDisabledbool
public bool IsClassDisabled(StringName className);Проверяет запрет native-класса с обходом родителей ClassDB. true может быть унаследовано: снятие собственного запрета потомка не отменяет запрет предка.
| Имя | Тип | По умолчанию |
|---|---|---|
className | StringName | — |
classNameNative-имя класса Reckfell, например Entity3D.
booltrue, если класс или native-предок запрещён.
IsClassEditorDisabledbool
public bool IsClassEditorDisabled(StringName className);Проверяет запрет контекстного редактора класса с обходом native-предков. Не равнозначно запрету создания класса или универсальному read-only Inspector.
| Имя | Тип | По умолчанию |
|---|---|---|
className | StringName | — |
classNameNative-имя класса Reckfell, например Entity3D.
booltrue при собственном или унаследованном запрете контекстного редактора.
IsClassPropertyDisabledbool
public bool IsClassPropertyDisabled(StringName className, StringName property);Проверяет точную пару native-класса и свойства без обхода родителей. Inspector выполняет обход сам: false для Sprite2D не отменяет запись CanvasItem:modulate. Это запрос данных профиля, не полная проверка видимости поля.
| Имя | Тип | По умолчанию |
|---|---|---|
className | StringName | — |
property | StringName | — |
classNameNative-имя класса Reckfell, например Entity3D.
propertyNative-имя свойства, например modulate, не C# Modulate или переводимая подпись.
booltrue только при наличии указанной точной записи.
IsFeatureDisabledbool
public bool IsFeatureDisabled(EditorFeatureProfile.Feature feature);Читает флаг крупной возможности редактора. Отключение Feature3D отдельно от запрета классов Entity3D. Не проверяет наличие функции в сборке движка.
| Имя | Тип | По умолчанию |
|---|---|---|
feature | EditorFeatureProfile.Feature | — |
featureДопустимый элемент Feature; Max обозначает размер enum, а не возможность.
booltrue, если флаг отключения установлен.
LoadFromFileError
public Error LoadFromFile(string path);Загружает JSON формата feature_profile в этот экземпляр, не активируя его в редакторе. В 1.0.0 отсутствие disabled_features сохраняет прежние флаги возможностей; для независимого чтения создавайте свежий экземпляр. Не считайте ошибку обещанием полного отката состояния.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть экспортированного JSON-профиля .profile.
ErrorError.Ok при успешной загрузке; иначе код ошибки чтения или разбора.
SaveToFileError
public Error SaveToFile(string path);Записывает JSON-профиль с маркером type=feature_profile и массивами запретов. Используйте .profile для импорта менеджером; это не сериализация обычного ресурса .rdata и не активация профиля.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть файла в существующем доступном для записи каталоге.
ErrorКод результата сохранения; проверьте его до импорта файла.
SetDisableClassvoid
public void SetDisableClass(StringName className, bool disable);Задаёт запрет native-класса в этом объекте профиля. Потомки наследуют его при проверке. Не удаляет классы из движка и не активирует профиль в редакторе автоматически.
| Имя | Тип | По умолчанию |
|---|---|---|
className | StringName | — |
disable | bool | — |
classNameNative-имя класса Reckfell, например Entity3D.
disabletrue отключает возможность; false снимает собственный запрет.
SetDisableClassEditorvoid
public void SetDisableClassEditor(StringName className, bool disable);Задаёт запрет специализированного контекстного редактора класса. Проверка наследует правило родителя. Отдельно управляйте доступностью класса и видимостью свойств; эта настройка не обещает запрет записи из кода.
| Имя | Тип | По умолчанию |
|---|---|---|
className | StringName | — |
disable | bool | — |
classNameNative-имя класса Reckfell, например Entity3D.
disabletrue отключает возможность; false снимает собственный запрет.
SetDisableClassPropertyvoid
public void SetDisableClassProperty(StringName className, StringName property, bool disable);Задаёт точный запрет свойства в классе. Inspector учитывает такие записи родителей. Для disable=false сначала проверьте IsClassPropertyDisabled(): в 1.0.0 снятие правила у класса без записанных свойств выдаёт ошибку native API.
| Имя | Тип | По умолчанию |
|---|---|---|
className | StringName | — |
property | StringName | — |
disable | bool | — |
classNameNative-имя класса Reckfell, например Entity3D.
propertyТочное native-имя свойства; значение данных не удаляется.
disabletrue отключает возможность; false снимает собственный запрет.
SetDisableFeaturevoid
public void SetDisableFeature(EditorFeatureProfile.Feature feature, bool disable);Меняет флаг интерфейса в объекте профиля. Это не удаление подсистемы, оптимизация экспорта или применение профиля в запущенном редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
feature | EditorFeatureProfile.Feature | — |
disable | bool | — |
featureДопустимый элемент Feature; Max обозначает размер enum, а не возможность.
disabletrue отключает возможность; false снимает собственный запрет.
EditorFeatureProfile.Feature
| Значение | Описание |
|---|---|
AssetLib = 2 | Вкладка Хранение активов. Если эта функция отключена, вкладка Хранение активов отображаться не будет. |
Feature3D = 0 | 3D-редактор. Если эта функция отключена, то 3D-редактор не будет отображать, но 3D узлы будут показываться в New Entity Диалог. |
FilesystemDock = 5 | Просмотр контента. Если эта функция отключена, то он не будет виден. |
Game = 8 | Вкладка «Игра», которая позволяет встраивать игровое окно и выбирать узлы, щелкая внутри него. Если эта функция отключена, вкладка «Игра» не будет отображаться. |
GroupsDock = 10 | Панель «Группы». Если эта функция отключена, группы не будут видны и недоступны для изменения в редакторе. |
HistoryDock = 7 | Док истории. Если эта функция отключена, док истории не будет виден. |
ImportDock = 6 | Док импорта. Если эта функция отключена, док импорта не будет виден. |
Max = 11 | Представляет размер перечисления |
NodeDock = 4 | Док-станция Entity. Если эта функция отключена, сигналы и группы не будут видны и не будут доступны для изменения из редактора. |
SceneTree = 3 | Редактирование дерева сцены. Если эта функция отключена, док-станция дерева сцены будет по-прежнему видна, но будет доступна только для чтения. |
Script = 1 | Вкладка Script, которая содержит редактор скриптов и браузер ссылок на классы. Если эта функция отключена, вкладка Script не будет отображаться. |
SignalsDock = 9 | Панель «Сигналы». Если эта функция отключена, сигналы не будут видны и недоступны для изменения в редакторе. |