reckfellENGINE

EditorInspectorPlugin

Плагин для добавления пользовательских редакторов свойств в инспектор.

На этой странице
class EditorInspectorPluginReckfellSharpEditorНаследует RefCounted

Плагин для добавления пользовательских редакторов свойств в инспектор.

EditorInspectorPlugin позволяет добавлять пользовательские редакторы свойств в EditorInspector. При редактировании объекта вызывается функция EditorInspectorPlugin._CanHandle, которая должна возвращать true, если тип объекта поддерживается. Если поддерживается, будет вызвана функция EditorInspectorPlugin._ParseBegin, позволяющая размещать пользовательские элементы управления в начале класса. Затем для каждой категории и свойства вызываются EditorInspectorPlugin._ParseCategory и EditorInspectorPlugin._ParseProperty. Они также предоставляют возможность добавлять пользовательские элементы управления в инспектор. Наконец, будет вызван EditorInspectorPlugin._ParseEnd. При каждом из этих вызовов можно вызывать функции «add». Чтобы использовать EditorInspectorPlugin, сначала зарегистрируйте его с помощью метода EditorPlugin.AddInspectorPlugin.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

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

EditorInspectorPluginКонструктор
# EditorInspectorPlugin
C#
public EditorInspectorPlugin();

Методы11

AddCustomControlvoid
# AddCustomControl
C#
public void AddCustomControl(Control control);

Добавляет пользовательский элемент управления, который не обязательно является редактором свойств.

Параметры
ИмяТипПо умолчанию
controlControl—
AddPropertyEditor2 перегрузки
# AddPropertyEditor · 1/2
C#
public void AddPropertyEditor(string property, Control editor, bool addToEnd);

Добавляет редактор свойств для отдельного свойства. Элемент управления editor должен расширять EditorProperty. Для свойства может быть несколько редакторов свойств. Если add_to_end равен true, этот недавно добавленный редактор будет отображаться после всех других редакторов свойства, у которых add_to_end равен false. Например, редактор использует этот параметр для добавления кнопки «Редактировать область» для Sprite2D.RegionRect под обычным редактором Rect2. label можно использовать для выбора пользовательской метки для редактора свойств в инспекторе. Если оставить пустым, метка вычисляется на основе имени свойства.

Параметры
ИмяТипПо умолчанию
propertystring—
editorControl—
addToEndbool—
# AddPropertyEditor · 2/2
C#
public void AddPropertyEditor(string property, Control editor, bool addToEnd = false, string label = "");

Добавляет интерфейс для конкретного свойства во время parse-callback. Переданный Control должен быть EditorProperty; один SpinBox без этой обвязки не получает привязку и редакторский обмен данными.

Параметры
ИмяТипПо умолчанию
propertystring—
editorControl—
addToEndboolfalse
labelstring""
property

Точное имя/путь свойства из _ParseProperty.

editor

Созданный EditorProperty. После передачи его UI-жизненным циклом управляет Inspector.

addToEnd

При true размещает после редакторов этого свойства с addToEnd=false. Не означает подавление стандартного поля.

label

Своя подпись поля. При пустой строке она вычисляется из имени свойства; в примере передаётся Amount.

AddPropertyEditorForMultipleProperties2 перегрузки
# AddPropertyEditorForMultipleProperties · 1/2
C#
public void AddPropertyEditorForMultipleProperties(string label, ReadOnlySpan<string> properties, Control editor);

Добавляет редактор, позволяющий изменять несколько свойств. Элемент управления editor должен расширять EditorProperty.

Параметры
ИмяТипПо умолчанию
labelstring—
propertiesReadOnlySpan<string>—
editorControl—
# AddPropertyEditorForMultipleProperties · 2/2
C#
public void AddPropertyEditorForMultipleProperties(string label, string[] properties, Control editor);

Добавляет редактор, позволяющий изменять несколько свойств. Элемент управления editor должен расширять EditorProperty.

Параметры
ИмяТипПо умолчанию
labelstring—
propertiesstring[]—
editorControl—
_CanHandlebool
# _CanHandle
C#
public virtual bool _CanHandle(ReckfellObject @object);

Определяет, должен ли плагин участвовать в разборе данного объекта. Ограничивайте конкретным типом/контрактом, а не всеми объектами редактора; пример принимает только DocsInspectorSettings.

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
object

Объект, редактируемый Inspector; это не обязательно Entity и не обязательно выделенный игровой персонаж.

Возвращает bool

true разрешает дальнейшие parse-callbacks этого плагина. Само по себе не создаёт виджет и не заменяет все поля.

_ParseBeginvoid
# _ParseBegin
C#
public virtual void _ParseBegin(ReckfellObject @object);

Вызывается, чтобы разрешить добавление элементов управления в начало списка свойств для object.

####=Первоначальный_ категория

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
_ParseCategoryvoid
# _ParseCategory
C#
public virtual void _ParseCategory(ReckfellObject @object, string category);

Вызывается, чтобы разрешить добавление элементов управления в начало категории в списке свойств для object.

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
categorystring—
_ParseEndvoid
# _ParseEnd
C#
public virtual void _ParseEnd(ReckfellObject @object);

Вызывается, чтобы разрешить добавление элементов управления в конец списка свойств для object.

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
_ParseGroupvoid
# _ParseGroup
C#
public virtual void _ParseGroup(ReckfellObject @object, string group);

Вызывается, чтобы разрешить добавление элементов управления в начало группы или подгруппы в списке свойств для object.

#####парце_свойство

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
groupstring—
_ParsePropertybool
# _ParseProperty
C#
public virtual bool _ParseProperty(ReckfellObject @object, Variant.Type type, string name, PropertyHint hintType, string hintString, PropertyUsageFlags usageFlags, bool wide);

Выбирает редактор отдельного свойства после _CanHandle. Добавьте EditorProperty для подходящего имени/типа; не поглощайте остальные свойства. Пример заменяет только Amount.

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
typeVariant.Type—
namestring—
hintTypePropertyHint—
hintStringstring—
usageFlagsPropertyUsageFlags—
widebool—
object

Редактируемый объект, переданный Inspector.

type

Тип Variant свойства; double в примере представлен Variant.Type.Float.

name

Точное имя/путь свойства из списка объекта. Передайте его в AddPropertyEditor; это не переводимая подпись.

hintType

Тип подсказки свойства, например Range. Это метаданные редактора, не универсальная валидация модели.

hintString

Строка параметров подсказки, например границы и шаг диапазона.

usageFlags

Битовые флаги использования свойства. Не смешивайте их с его значением.

wide

Режим широких редакторов текущего Inspector. Учитывайте при компоновке; пример отдельный режим не реализует.

Возвращает bool

true убирает стандартный редактор данного свойства; false оставляет стандартную обработку. Виджет нужно добавить отдельно.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.