EditorExportPlatform

Наследует: RefCounted < Object

Наследуется от: EditorExportPlatformAndroid, EditorExportPlatformAppleEmbedded, EditorExportPlatformExtension, EditorExportPlatformMacOS, EditorExportPlatformPC, EditorExportPlatformWeb

Определяет поддерживаемую платформу экспорта и внутренне обеспечивает функциональность экспорта на эту платформу.

Описание

Базовый ресурс, который обеспечивает функциональность экспорта сборки выпуска проекта на платформу из редактора. Сохраняет метаданные, специфичные для платформы, такие как имя и поддерживаемые функции платформы, и выполняет экспорт проектов, файлов PCK и файлов ZIP. Использует шаблон экспорта для платформы, предоставленный во время экспорта проекта.

Используется в скриптах EditorExportPlugin для настройки платформенно-специфической настройки сцен и ресурсов. Подробнее см. EditorExportPlugin._begin_customize_scenes() и EditorExportPlugin._begin_customize_resources().

Обучающие материалы

Методы

void

add_message(type: ExportMessageType, category: String, message: String)

void

clear_messages()

EditorExportPreset

create_preset()

Error

export_pack(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0)

Error

export_pack_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray = PackedStringArray(), flags: BitField[DebugFlags] = 0)

Error

export_project(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0)

Error

export_project_files(preset: EditorExportPreset, debug: bool, save_cb: Callable, shared_cb: Callable = Callable())

Error

export_zip(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0)

Error

export_zip_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray = PackedStringArray(), flags: BitField[DebugFlags] = 0)

Dictionary

find_export_template(template_file_name: String) const

PackedStringArray

gen_export_flags(flags: BitField[DebugFlags])

Array

get_current_presets() const

PackedStringArray

get_forced_export_files(preset: EditorExportPreset = null) static

Dictionary

get_internal_export_files(preset: EditorExportPreset, debug: bool)

String

get_message_category(index: int) const

int

get_message_count() const

String

get_message_text(index: int) const

ExportMessageType

get_message_type(index: int) const

String

get_os_name() const

ExportMessageType

get_worst_message_type() const

Dictionary

save_pack(preset: EditorExportPreset, debug: bool, path: String, embed: bool = false)

Dictionary

save_pack_patch(preset: EditorExportPreset, debug: bool, path: String)

Dictionary

save_zip(preset: EditorExportPreset, debug: bool, path: String)

Dictionary

save_zip_patch(preset: EditorExportPreset, debug: bool, path: String)

Error

ssh_push_to_remote(host: String, port: String, scp_args: PackedStringArray, src_file: String, dst_file: String) const

Error

ssh_run_on_remote(host: String, port: String, ssh_arg: PackedStringArray, cmd_args: String, output: Array = [], port_fwd: int = -1) const

int

ssh_run_on_remote_no_wait(host: String, port: String, ssh_args: PackedStringArray, cmd_args: String, port_fwd: int = -1) const


Перечисления

enum ExportMessageType: 🔗

ExportMessageType EXPORT_MESSAGE_NONE = 0

Неверный тип сообщения, используемый в качестве значения по умолчанию, если тип не указан.

ExportMessageType EXPORT_MESSAGE_INFO = 1

Тип сообщения для информационных сообщений, не влияющих на экспорт.

ExportMessageType EXPORT_MESSAGE_WARNING = 2

Тип сообщения для предупреждающих сообщений, на которые следует обратить внимание, но которые все равно позволят завершить экспорт.

ExportMessageType EXPORT_MESSAGE_ERROR = 3

Тип сообщения для сообщений об ошибках, которые необходимо устранить и которые приводят к сбою экспорта.


flags DebugFlags: 🔗

DebugFlags DEBUG_FLAG_DUMB_CLIENT = 1

Флаг устанавливается, если отлаживаемый удалённо проект должен использовать удалённую файловую систему. Если он установлен, gen_export_flags() добавит аргументы командной строки --remote-fs и --remote-fs-password (если определён EditorSettings.filesystem/file_server/password) к возвращаемому списку.

DebugFlags DEBUG_FLAG_REMOTE_DEBUG = 2

Флаг устанавливается, если включена удалённая отладка. Если он установлен, gen_export_flags() добавит аргументы командной строки --remote-debug и --breakpoints (если точки останова выбраны в редакторе скриптов или добавлены плагином) к возвращаемому списку.

DebugFlags DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST = 4

Флаг устанавливается, если удаленно отлаживаемый проект запущен на локальном хосте. Если установлено, gen_export_flags() будет использовать localhost вместо EditorSettings.network/debug/remote_host в качестве удаленного хоста отладчика.

DebugFlags DEBUG_FLAG_VIEW_COLLISIONS = 8

Флаг устанавливается, если включена опция удалённой отладки «Видимые формы столкновений». Если этот флаг установлен, gen_export_flags() добавит аргумент командной строки --debug-collisions к возвращаемому списку.

DebugFlags DEBUG_FLAG_VIEW_NAVIGATION = 16

Флаг устанавливается, если включена опция удалённой отладки «Видимая навигация». Если она установлена, gen_export_flags() добавит аргумент командной строки --debug-navigation к возвращаемому списку.


Описания метода

void add_message(type: ExportMessageType, category: String, message: String) 🔗

Добавляет сообщение в журнал экспорта, которое будет отображено после завершения экспорта.


void clear_messages() 🔗

Очищает журнал экспорта.


EditorExportPreset create_preset() 🔗

Создайте новый пресет для этой платформы.


Error export_pack(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0) 🔗

Создает архив PCK по адресу path для указанного preset.


Error export_pack_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray = PackedStringArray(), flags: BitField[DebugFlags] = 0) 🔗

Создает архив патча PCK в path для указанного preset, содержащий только файлы, которые были изменены с момента последнего патча.

Примечание: patches — это необязательное переопределение набора патчей, определенных в экспортном пресете. Если пусто, вместо него будут использоваться патчи, определенные в экспортном пресете.


Error export_project(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0) 🔗

Создает полный проект по адресу path для указанного preset.


Error export_project_files(preset: EditorExportPreset, debug: bool, save_cb: Callable, shared_cb: Callable = Callable()) 🔗

Экспортирует файлы проекта для указанного пресета. Этот метод можно использовать для реализации пользовательского формата экспорта, отличного от PCK и ZIP. Один из обратных вызовов вызывается для каждого экспортированного файла.

save_cb вызывается для всех экспортированных файлов и имеет следующие аргументы: file_path: String, file_data: PackedByteArray, file_index: int, file_count: int, encryption_include_filters: PackedStringArray, encryption_exclude_filters: PackedStringArray, encryption_key: PackedByteArray.

shared_cb вызывается для экспортированных собственных общих/статических библиотек и имеет следующие аргументы: file_path: String, tags: PackedStringArray, target_folder: String.

Примечание: file_index и file_count предназначены только для отслеживания прогресса и не обязательно являются уникальными и точными.


Error export_zip(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0) 🔗

Создать ZIP-архив по адресу path для указанного preset.


Error export_zip_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray = PackedStringArray(), flags: BitField[DebugFlags] = 0) 🔗

Создайте архив ZIP патча в path для указанного preset, содержащий только файлы, которые были изменены с момента последнего патча.

Примечание: patches — это необязательное переопределение набора патчей, определенных в экспортном пресете. Если пусто, вместо него будут использоваться патчи, определенные в экспортном пресете.


Dictionary find_export_template(template_file_name: String) const 🔗

Находит шаблон экспорта для платформы и возвращает Dictionary со следующими ключами: path: String и error: String. Этот метод предоставляется для удобства, и пользовательские платформы экспорта не обязаны его использовать или хранить шаблоны экспорта так же, как официальные шаблоны.


PackedStringArray gen_export_flags(flags: BitField[DebugFlags]) 🔗

Генерирует массив аргументов командной строки для шаблонов экспорта по умолчанию для флагов отладки и настроек редактора.


Array get_current_presets() const 🔗

Возвращает массив EditorExportPreset для этой платформы.


PackedStringArray get_forced_export_files(preset: EditorExportPreset = null) static 🔗

Возвращает массив имен основных файлов, которые всегда следует экспортировать независимо от предустановленной конфигурации.


Dictionary get_internal_export_files(preset: EditorExportPreset, debug: bool) 🔗

Возвращает дополнительные файлы, которые всегда должны экспортироваться независимо от предустановленной конфигурации и не являются частью исходного кода проекта. Возвращаемый Dictionary содержит ключи имени файла (String) и соответствующие им необработанные данные (PackedByteArray).


String get_message_category(index: int) const 🔗

Возвращает категорию сообщения для сообщения с index.


int get_message_count() const 🔗

Возвращает количество сообщений в журнале экспорта.


String get_message_text(index: int) const 🔗

Возвращает текст сообщения для сообщения с index.


ExportMessageType get_message_type(index: int) const 🔗

Возвращает тип сообщения для сообщения с index.


String get_os_name() const 🔗

Возвращает имя экспортируемой операционной системы, обрабатываемой этим классом EditorExportPlatform, как понятную строку. Возможные возвращаемые значения: Windows, Linux, macOS, Android, iOS, и Web.


ExportMessageType get_worst_message_type() const 🔗

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


Dictionary save_pack(preset: EditorExportPreset, debug: bool, path: String, embed: bool = false) 🔗

Сохраняет архив PCK и возвращает Dictionary со следующими ключами: result: Error, so_files: Array (массив общих/статических объектов, содержащий словари со следующими ключами: path: String, tags: PackedStringArray и target_folder: String).

Если embed равен true, содержимое PCK добавляется в конец файла path и возвращаемый Dictionary дополнительно включает следующие ключи: embedded_start: int (смещение внедренного PCK) и embedded_size: int (размер внедренного PCK).


Dictionary save_pack_patch(preset: EditorExportPreset, debug: bool, path: String) 🔗

Сохраняет архив исправлений PCK и возвращает Dictionary со следующими ключами: result: Error, so_files: Array (массив общих/статических объектов, содержащий словари со следующими ключами: path: String, tags: PackedStringArray и target_folder: String).


Dictionary save_zip(preset: EditorExportPreset, debug: bool, path: String) 🔗

Сохраняет ZIP-архив и возвращает Dictionary со следующими ключами: result: Error, so_files: Array (массив общих/статических объектов, содержащий словари со следующими ключами: path: String, tags: PackedStringArray и target_folder: String).


Dictionary save_zip_patch(preset: EditorExportPreset, debug: bool, path: String) 🔗

Сохраняет архив ZIP с исправлениями и возвращает Dictionary со следующими ключами: result: Error, so_files: Array (массив общих/статических объектов, содержащий словари со следующими ключами: path: String, tags: PackedStringArray и target_folder: String).


Error ssh_push_to_remote(host: String, port: String, scp_args: PackedStringArray, src_file: String, dst_file: String) const 🔗

Загружает указанный файл по протоколу SCP на удаленный хост.


Error ssh_run_on_remote(host: String, port: String, ssh_arg: PackedStringArray, cmd_args: String, output: Array = [], port_fwd: int = -1) const 🔗

Выполняет указанную команду на удаленном хосте по протоколу SSH и возвращает вывод команды в output.


int ssh_run_on_remote_no_wait(host: String, port: String, ssh_args: PackedStringArray, cmd_args: String, port_fwd: int = -1) const 🔗

Выполняет указанную команду на удаленном хосте по протоколу SSH и возвращает идентификатор процесса (на удаленном хосте), не дожидаясь завершения команды.