reckfellENGINE

EditorImportPlugin

Импортирует собственные исходные форматы в ресурсы редактора.

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

Унаследуйте EditorImportPlugin и зарегистрируйте экземпляр через EditorPlugin.AddImportPlugin(). Задайте постоянный идентификатор, расширения исходников, класс и расширение результата. _Import() проверяет исходник, создаёт ресурс и сохраняет его по переданному savePath с нужным расширением. Возвращайте настоящий код ошибки чтения, преобразования или сохранения.

Редактор хранит настройки рядом с исходником в .import, а сгенерированные данные — в кэше проекта. Загружайте ресурс по исходному пути, не по жёстко заданному имени кэша. При выключении плагина вызовите RemoveImportPlugin() с тем же экземпляром и освободите собственную ссылку.

Полный C#-пример и повторный импорт.

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

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

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

Методы15

AppendImportExternalResourceError
# AppendImportExternalResource
C#
public Error AppendImportExternalResource(string path, Reckfell.Collections.Dictionary customOptions = null, string customImporter = "", Variant generatorParameters = default);

Синхронно импортирует дополнительный внешний ресурс во время текущего процесса импорта. Вызывайте из _Import(), например для созданного изображения, которому нужен собственный импортёр. Вызов вне процесса импорта отклоняется; это не замена обычному ReimportFiles().

Параметры
ИмяТипПо умолчанию
pathstring—
customOptionsReckfell.Collections.Dictionarynull
customImporterstring""
generatorParametersVariantdefault
path

Путь дополнительного исходного ресурса.

customOptions

Переопределения настроек импорта; по умолчанию пустой словарь.

customImporter

Постоянный идентификатор нужного импортёра или пустая строка для обычного выбора.

generatorParameters

Дополнительные метаданные, сохраняемые как generator_parameters в секции remap файла .import.

Возвращает Error

Код результата вложенного импорта.

_CanImportThreadedbool
# _CanImportThreaded
C#
public virtual bool _CanImportThreaded();

Разрешает запуск импортёра в параллельных потоках. По умолчанию false. Возвращайте true только при потокобезопасности обработчика и его зависимостей; не обращайтесь к дереву редактора из рабочих потоков.

Возвращает bool

true для потокобезопасного параллельного импорта; иначе false.

_GetFormatVersionint
# _GetFormatVersion
C#
public virtual int _GetFormatVersion();

Верните версию формата генерируемых данных этого импортёра; по умолчанию 0. Увеличивайте её при несовместимых изменениях результата. Это не версия движка и не видимое имя плагина.

Возвращает int

Целочисленная версия формата импортёра.

_GetImportOptionsReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# _GetImportOptions
C#
public virtual Reckfell.Collections.Array<Reckfell.Collections.Dictionary> _GetImportOptions(string path, int presetIndex);

Верните настройки пресета как массив словарей. Для каждого обязательны name и default_value. Необязательны property_hint, hint_string и usage. Тип default_value задаёт тип свойства; подсказка диапазона не заменяет проверку данных в _Import().

Параметры
ИмяТипПо умолчанию
pathstring—
presetIndexint—
path

Путь исходного файла, для которого запрашиваются настройки.

presetIndex

Индекс набора начальных значений; метод вызывается и без объявленных пресетов.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Массив словарей настроек; при отсутствии настроек — пустой массив.

_GetImportOrderint
# _GetImportOrder
C#
public virtual int _GetImportOrder();

Задаёт порядок выполнения импортёров: меньшие значения выполняются раньше. По умолчанию 0. Используйте для порядка зависимостей, а не для выбора между импортёрами одного расширения.

Возвращает int

Числовой порядок импорта.

_GetImporterNamestring
# _GetImporterName
C#
public virtual string _GetImporterName();

Верните уникальный постоянный идентификатор импортёра. Он сохраняется в .import и используется для повторного импорта; видимую надпись задаёт _GetVisibleName().

Возвращает string

Идентификатор, например reckfell.docs.rgb_material.

_GetOptionVisibilitybool
# _GetOptionVisibility
C#
public virtual bool _GetOptionVisibility(string path, StringName optionName, Reckfell.Collections.Dictionary options);

Определяет видимость настройки в панели Import на основании текущих значений options. По умолчанию все настройки видимы. Скрытие поля не удаляет его значение и не заменяет проверку в _Import().

Параметры
ИмяТипПо умолчанию
pathstring—
optionNameStringName—
optionsReckfell.Collections.Dictionary—
path

Путь исходного файла.

optionName

Имя проверяемой настройки, совпадающее с её ключом name.

options

Текущие значения настроек импорта.

Возвращает bool

true, чтобы показать настройку; false, чтобы скрыть.

_GetPresetCountint
# _GetPresetCount
C#
public virtual int _GetPresetCount();

Верните число начальных наборов настроек. По умолчанию пресетов нет (0); _GetImportOptions() всё равно должен возвращать корректный массив.

Возвращает int

Количество пресетов.

_GetPresetNamestring
# _GetPresetName
C#
public virtual string _GetPresetName(int presetIndex);

Верните читаемое имя пресета по индексу, объявленному через _GetPresetCount().

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

Индекс пресета от 0 до _GetPresetCount() - 1.

Возвращает string

Имя выбранного пресета.

_GetPriorityfloat
# _GetPriority
C#
public virtual float _GetPriority();

Задаёт предпочтение при автоматическом выборе импортёра исходного расширения. Более высокое значение имеет преимущество; по умолчанию 1.0. Уже записанный в .import идентификатор и явный выбор файла также учитываются системой импорта.

Возвращает float

Числовой приоритет импортёра.

_GetRecognizedExtensionsstring[]
# _GetRecognizedExtensions
C#
public virtual string[] _GetRecognizedExtensions();

Верните расширения исходных файлов без точки. Сопоставление не учитывает регистр. Предпочитайте собственное расширение, чтобы не перехватить обычные файлы проекта.

Возвращает string[]

Массив расширений, например ["rfcolor"].

_GetResourceTypestring
# _GetResourceType
C#
public virtual string _GetResourceType();

Верните имя класса импортированного ресурса, например StandardMaterial3D. Это класс результата, а не расширение исходного файла.

Возвращает string

Имя типа ресурса Reckfell.

_GetSaveExtensionstring
# _GetSaveExtension
C#
public virtual string _GetSaveExtension();

Верните расширение генерируемого основного ресурса без точки. При обычном импорте _Import() должен сохранить ресурс по savePath + "." + это расширение.

Возвращает string

Расширение результата, например material.

_GetVisibleNamestring
# _GetVisibleName
C#
public virtual string _GetVisibleName();

Верните читаемую надпись для выбора импортёра в панели Import. Изменение надписи не требует менять постоянный идентификатор.

Возвращает string

Отображаемое имя импортёра.

_ImportError
# _Import
C#
public virtual Error _Import(string sourceFile, string savePath, Reckfell.Collections.Dictionary options, Reckfell.Collections.Array<string> platformVariants, Reckfell.Collections.Array<string> genFiles);

Преобразуйте исходный файл и сохраните основной ресурс по savePath + "." + _GetSaveExtension(). Проверяйте входные данные и возвращайте ошибку чтения, преобразования или сохранения. Массивы platformVariants и genFiles заполняются только для реально созданных вариантов и дополнительных файлов.

Параметры
ИмяТипПо умолчанию
sourceFilestring—
savePathstring—
optionsReckfell.Collections.Dictionary—
platformVariantsReckfell.Collections.Array<string>—
genFilesReckfell.Collections.Array<string>—
sourceFile

Путь исходного файла в проекте.

savePath

Базовый путь результата от редактора без расширения. Не подменяйте его жёстко заданным путём кэша.

options

Значения настроек импорта; не полагайтесь на UI как на единственную проверку типов и диапазонов.

platformVariants

Выходной массив feature tags для сохранённых вариантов savePath + "." + tag + "." + расширение. Оставьте пустым, если вариантов нет.

genFiles

Выходной массив полных asset://-путей дополнительных сгенерированных зависимостей. Не перечисляйте здесь основной результат без необходимости.

Возвращает Error

Error.Ok только после успешного импорта и сохранения; иначе код ошибки.

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

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

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

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