reckfellENGINE

EditorExportPreset

Настройки и ручной выбор ресурсов экспортного пресета.

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

EditorExportPreset получают из платформы через CreatePreset или из контекста export plugin. Новый standalone-пресет не добавлен в пользовательский список и не становится Runnable автоматически. В C# этого типа доступны перечисленные getters; не придумывайте публичные SetExportFilter или SetFileExportMode по именам внутренних C++-методов.

GetFilesToExport — ручной набор, а не готовое содержимое сборки. Для ExportAllResources он может быть пустым. ExportSelectedScenes отбирает сериализованные иерархии PackedEntity, включая уровни .rscene и префабы .rprefab, по типу ресурса; название enum сохранено в SDK. Итоговый набор дополнительно зависит от зависимостей, фильтров и export plugins.

GetCustomizedFiles возвращает копию Dictionary со строками strip/keep/remove. GetFileExportMode проверяет только точный путь, не правила родителей. GetCustomFeatures — исходная строка с запятыми. GetProjectSetting применяет features пресета, поэтому результат может отличаться от хостового ProjectSettings.

GetOrEnv отдаёт окружение как строку без преобразования типа. Следующий полный помощник явно разбирает числовую опцию и строго проверяет 64 hex-символа ключа перед нативным ResolveEncryptionKey:

C#
using System;
using System.Globalization;
using Reckfell;

public static class ExportPresetTools
{
    public static int ReadInt(EditorExportPreset preset, StringName option, string environmentVariable)
    {
        using var value = preset.GetOrEnv(option, environmentVariable);
        if (value.VariantType == Variant.Type.Int)
            return checked((int)value.AsInt64());
        if (value.VariantType == Variant.Type.String &&
            int.TryParse(value.AsString(), NumberStyles.Integer, CultureInfo.InvariantCulture, out int parsed))
            return parsed;
        throw new InvalidOperationException($"Export option '{option}' must be a 32-bit integer.");
    }

    public static bool IsEncryptionKey(string? text)
    {
        if (text is null || text.Length != 64) return false;
        foreach (char character in text)
            if (!Uri.IsHexDigit(character)) return false;
        return true;
    }
}

GetEncryptionKey читает сохранённую строку, ResolveEncryptionKey учитывает окружение и кэширует байты при первом вызове. Смена окружения не обновляет этот кэш. Подготовьте среду до первого разрешения ключа; не переиспользуйте уже разрешённый пресет после смены среды. Нативный разбор проверяет длину, но не является строгой hex-валидацией. Ключи не включайте в логи.

GetVersion форматирует только fallback из версии проекта: при пустой опции 1.0.0 может стать 1.0.0.0 для Windows metadata; непустая опция возвращается без нормализации. Это формат метаданных, не новая версия движка.

Проверены отдельный Windows-пресет, getters, типы Variant, feature override, версии, кэш ключа и полный помощник в текущем редакторе. Использовались синтетические значения только в тестовом процессе. Реальное шифрование PCK, состав пакета с зависимостями, экспорт, интерфейс и запуск на целевых платформах этим прогоном не подтверждены.

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

Методы26

AreAdvancedOptionsEnabledbool
# AreAdvancedOptionsEnabled
C#
public bool AreAdvancedOptionsEnabled();

Возвращает, показываются ли расширенные опции: учитывает временный поиск опций и настройку редактора _export_preset_advanced_mode. Это не признак расширенных возможностей экспортируемой игры и не отдельный сохранённый флаг этого пресета.

Возвращает bool

Текущая видимость расширенных опций с учётом поиска.

GetCustomFeaturesstring
# GetCustomFeatures
C#
public string GetCustomFeatures();

Возвращает исходную строку пользовательских feature tags, разделённых запятыми, а не массив и не полный набор features платформы. GetProjectSetting разбирает и добавляет их при выборе override.

Возвращает string

Исходная строка feature tags с запятыми; изначально пустая.

GetCustomizedFilesReckfell.Collections.Dictionary
# GetCustomizedFiles
C#
public Reckfell.Collections.Dictionary GetCustomizedFiles();

Возвращает новый Dictionary с явно настроенными путями файлов или каталогов. Значения — строки strip, keep или remove, а не числа FileExportMode. Изменение словаря не изменяет пресет. Пустой результат не означает, что экспорт не содержит файлов.

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

Новый Dictionary: путь → строка strip/keep/remove.

GetCustomizedFilesCountint
# GetCustomizedFilesCount
C#
public int GetCustomizedFilesCount();

Число записей явной настройки путей, включая каталоги; не число файлов в конечной сборке и не число зависимостей. Изначально 0.

Возвращает int

Число явно настроенных путей, включая каталоги.

GetEncryptDirectorybool
# GetEncryptDirectory
C#
public bool GetEncryptDirectory();

Читает запрос шифрования каталога PCK; изначально false. Не подтверждает успешное шифрование, правильность ключа или наличие согласованного шаблона экспорта.

Возвращает bool

Запрошено ли шифрование каталога PCK.

GetEncryptPckbool
# GetEncryptPck
C#
public bool GetEncryptPck();

Читает флаг шифрования данных пакета; изначально false. Фактический выбор файлов зависит также от encryption include/exclude filters. Этот getter сам ничего не шифрует.

Возвращает bool

Включён ли запрос шифрования пакета.

GetEncryptionExFilterstring
# GetEncryptionExFilter
C#
public string GetEncryptionExFilter();

Возвращает исходную строку масок исключения из шифрования, разделённых запятыми. Это не общий ExcludeFilter: исключённый из шифрования файл может оставаться в пакете.

Возвращает string

Исходная строка масок исключения из шифрования.

GetEncryptionInFilterstring
# GetEncryptionInFilter
C#
public string GetEncryptionInFilter();

Возвращает исходную строку масок включения в шифрование, разделённых запятыми. Это отдельная настройка от общего IncludeFilter и флага шифрования каталога PCK.

Возвращает string

Исходная строка масок включения в шифрование.

GetEncryptionKeystring
# GetEncryptionKey
C#
public string GetEncryptionKey();

Возвращает сохранённую строку ключа из пресета, изначально пустую. Не учитывает RECKFELL_SCRIPT_ENCRYPTION_KEY и не возвращает результат ResolveEncryptionKey. Не выводите значение в журналы.

Возвращает string

Сохранённый текст ключа, без override окружения.

GetExcludeFilterstring
# GetExcludeFilter
C#
public string GetExcludeFilter();

Возвращает исходные маски исключения файлов из экспорта, разделённые запятыми. Общий exclude применяется после общего include. Getter не вычисляет итоговый набор и не относится к encryption filters.

Возвращает string

Исходная строка общих масок исключения.

GetExportFilterEditorExportPreset.ExportFilter
# GetExportFilter
C#
public EditorExportPreset.ExportFilter GetExportFilter();

Возвращает режим начального выбора ресурсов, по умолчанию ExportAllResources. Ручной список используется по-разному: выбранные иерархии/ресурсы с зависимостями, исключённые ресурсы либо отдельные правила ExportCustomized. Последующие фильтры и export plugins могут изменить состав результата.

Возвращает EditorExportPreset.ExportFilter

Текущий режим выбора ресурсов.

GetExportPathstring
# GetExportPath
C#
public string GetExportPath();

Возвращает сохранённый путь вывода, изначально пустой. Он может быть относительным к проекту: нативная настройка преобразует абсолютный путь в относительный. Getter не создаёт каталог и не сообщает путь последнего фактического файла экспорта.

Возвращает string

Сохранённый, возможно относительный путь вывода.

GetFileExportModeEditorExportPreset.FileExportMode
# GetFileExportMode
C#
public EditorExportPreset.FileExportMode GetFileExportMode(string path, EditorExportPreset.FileExportMode @default = EditorExportPreset.FileExportMode.NotCustomized);

Ищет явную настройку ровно указанного пути; если записи нет, возвращает параметр default. Сам метод не ищет правила родительских каталогов и не проверяет существование файла. Итоговое наследование при экспорте обрабатывается отдельно.

Параметры
ИмяТипПо умолчанию
pathstring—
defaultEditorExportPreset.FileExportModeEditorExportPreset.FileExportMode.NotCustomized
path

Точный путь файла или каталога вида asset://; метод не обходит родителей.

default

Результат при отсутствии явной записи; по умолчанию NotCustomized.

Возвращает EditorExportPreset.FileExportMode

Явный режим точного пути либо переданный default.

GetFilesToExportstring[]
# GetFilesToExport
C#
public string[] GetFilesToExport();

Возвращает отдельный string[] вручную выбранных путей. Смысл списка зависит от ExportFilter; при ExportAllResources он может быть пустым, хотя проект экспортируется. Это не полный набор файлов с зависимостями. Порядок HashSet не гарантирован.

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

Копия ручного набора путей без гарантированного порядка.

GetIncludeFilterstring
# GetIncludeFilter
C#
public string GetIncludeFilter();

Возвращает исходные маски дополнительного включения файлов, разделённые запятыми. Это не список уже включённых ресурсов. Общий ExcludeFilter применяется позже и может убрать совпавший файл.

Возвращает string

Исходная строка общих масок дополнительного включения.

GetOrEnvVariant
# GetOrEnv
C#
public Variant GetOrEnv(StringName name, string envVar);

Если указанная переменная окружения непустая, возвращает её как Variant типа String; преобразования в тип опции нет. Иначе читает опцию пресета с её собственным типом и возможным plugin override. Для fallback передавайте существующее имя опции; для возвращённого Variant используйте using.

Параметры
ИмяТипПо умолчанию
nameStringName—
envVarstring—
name

Существующее имя опции для fallback, например debug/export_console_wrapper.

envVar

Имя переменной окружения. Непустое значение возвращается строкой без преобразования типа.

Возвращает Variant

String Variant из непустого окружения либо значение опции собственного типа.

GetPatchesstring[]
# GetPatches
C#
public string[] GetPatches();

Возвращает отдельный string[] путей базовых пакетов в сохранённом порядке. Метод не открывает пакеты, не проверяет их существование и не строит patch. Пустой список не означает ошибку обычного экспорта.

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

Копия упорядоченного списка путей базовых пакетов.

GetPresetNamestring
# GetPresetName
C#
public string GetPresetName();

Возвращает имя этого пресета. Новый standalone-пресет из CreatePreset может иметь пустое имя; имя не равно автоматически платформе и не является версией игры.

Возвращает string

Имя пресета; у нового экземпляра может быть пустым.

GetProjectSettingVariant
# GetProjectSetting
C#
public Variant GetProjectSetting(StringName name);

Читает ProjectSettings с features платформы, пресета и пользовательскими tags. Поэтому результат может отличаться от обычного чтения в редакторе на хостовой ОС. Передавайте существующий ключ и проверяйте VariantType; результат требует Dispose/using.

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

Существующий ключ ProjectSettings, а не ключ export_presets.cfg.

Возвращает Variant

Variant настройки после применения feature overrides пресета.

GetScriptExportModeEditorExportPreset.ScriptExportMode
# GetScriptExportMode
C#
public EditorExportPreset.ScriptExportMode GetScriptExportMode();

Возвращает режим экспорта встроенного скриптового формата; по умолчанию BinaryTokensCompressed. Это не шифрование PCK и не выбор конфигурации ExportDebug/ExportRelease для C#-публикации.

Возвращает EditorExportPreset.ScriptExportMode

Text, BinaryTokens или BinaryTokensCompressed.

GetVersionstring
# GetVersion
C#
public string GetVersion(StringName name, bool windowsVersion);

Читает строковую опцию версии. Непустое значение возвращается как есть. Только при пустой опции использует application/config/version и нормализует fallback, включая четырёхкомпонентный формат при windowsVersion=true. Метод не является общим валидатором semver и не возвращает версию движка.

Параметры
ИмяТипПо умолчанию
nameStringName—
windowsVersionbool—
name

Существующая строковая опция версии, например application/file_version в Windows-пресете.

windowsVersion

Применять четырёхкомпонентный Windows-формат к fallback. Непустое значение самой опции не нормализуется.

Возвращает string

Строка из опции либо нормализованный fallback версии проекта.

Hasbool
# Has
C#
public bool Has(StringName property);

Проверяет наличие имени в карте опций экспорта, не его видимость или ненулевое значение. Не заменяет проверку наследуемых Resource-свойств: например, resource_name не является такой опцией.

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

Точное имя опции, например binary_format/architecture.

Возвращает bool

True, если имя присутствует в карте опций.

HasExportFilebool
# HasExportFile
C#
public bool HasExportFile(string path);

Проверяет точное членство пути в ручном наборе selected files. Не проверяет наличие файла на диске и не гарантирует его присутствие в итоговой сборке: смысл набора зависит от ExportFilter.

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

Точный путь в ручном наборе; обычно asset://. Существование на диске не проверяется.

Возвращает bool

True, если точный путь записан в ручном наборе.

IsDedicatedServerbool
# IsDedicatedServer
C#
public bool IsDedicatedServer();

Возвращает сохранённый флаг dedicated-server пресета, изначально false. Это не проверка --headless текущего редактора и не подтверждение, что все визуальные ресурсы удалены из результата.

Возвращает bool

Сохранённый флаг dedicated-server пресета.

IsRunnablebool
# IsRunnable
C#
public bool IsRunnable();

Показывает, выбран ли именно этот пресет как Runnable для его платформы в EditorExport. Standalone-пресет из CreatePreset сам не становится runnable. True не подтверждает доступность устройства, шаблонов или успешный запуск.

Возвращает bool

Выбран ли этот пресет как runnable для своей платформы.

ResolveEncryptionKeybyte[]
# ResolveEncryptionKey
C#
public byte[] ResolveEncryptionKey();

При первом вызове берёт непустой RECKFELL_SCRIPT_ENCRYPTION_KEY, иначе сохранённую строку, и кэширует полученный массив. Для длины 64 формирует 32 байта; для другой длины — пустой массив. Нативный разбор не является строгой проверкой hex: предварительно проверяйте все символы. Смена окружения после первого вызова не обновляет кэш этого пресета. GetEncryptionKey при этом всё ещё возвращает сохранённую строку.

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

Копия кэшированных 32 байт либо пустой массив; длина 32 сама не доказывает корректный hex или совместимость шаблона.

EditorExportPreset.ExportFilter

EditorExportPreset.FileExportMode

ЗначениеОписание
Keep = 2
NotCustomized = 0
Remove = 3
Strip = 1

EditorExportPreset.ScriptExportMode

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

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

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

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