Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

EditorExportPlatformExtension

继承: EditorExportPlatform < RefCounted < Object

自定义 EditorExportPlatform 实现(插件)的基类。

描述

外部 EditorExportPlatform 实现应当继承自该类。

要使用 EditorExportPlatform,请先使用 EditorPlugin.add_export_platform() 方法注册。

方法

bool

_can_export(preset: EditorExportPreset, debug: bool) virtual const

void

_cleanup() virtual

Error

_export_pack(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags]) virtual

Error

_export_pack_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray, flags: BitField[DebugFlags]) virtual

Error

_export_project(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags]) virtual

Error

_export_zip(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags]) virtual

Error

_export_zip_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray, flags: BitField[DebugFlags]) virtual

PackedStringArray

_get_binary_extensions(preset: EditorExportPreset) virtual const

String

_get_debug_protocol() virtual const

String

_get_device_architecture(device: int) virtual const

bool

_get_export_option_visibility(preset: EditorExportPreset, option: String) virtual const

String

_get_export_option_warning(preset: EditorExportPreset, option: StringName) virtual const

Array[Dictionary]

_get_export_options() virtual const

Texture2D

_get_logo() virtual const

String

_get_name() virtual const

ImageTexture

_get_option_icon(device: int) virtual const

String

_get_option_label(device: int) virtual const

String

_get_option_tooltip(device: int) virtual const

int

_get_options_count() virtual const

String

_get_options_tooltip() virtual const

String

_get_os_name() virtual const

PackedStringArray

_get_platform_features() virtual const

PackedStringArray

_get_preset_features(preset: EditorExportPreset) virtual const

Texture2D

_get_run_icon() virtual const

bool

_has_valid_export_configuration(preset: EditorExportPreset, debug: bool) virtual const

bool

_has_valid_project_configuration(preset: EditorExportPreset) virtual const

bool

_is_executable(path: String) virtual const

bool

_poll_export() virtual

Error

_run(preset: EditorExportPreset, device: int, debug_flags: BitField[DebugFlags]) virtual

bool

_should_update_export_options() virtual

String

get_config_error() const

bool

get_config_missing_templates() const

void

set_config_error(error_text: String) const

void

set_config_missing_templates(missing_templates: bool) const


方法说明

bool _can_export(preset: EditorExportPreset, debug: bool) virtual const 🔗

可选。

如果 preset 预设有效且能够导出,则返回 true。请使用 set_config_error()set_config_missing_templates() 设置错误细节。

通常的实现可以调用 _has_valid_export_configuration()_has_valid_project_configuration() 来确定是否可以进行导出。


void _cleanup() virtual 🔗

可选。

注销平台前编辑器会调用该方法。


Error _export_pack(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags]) virtual 🔗

可选。

使用 preset 预设在 path 路径处创建 PCK 包。

在导出对话框中按下“导出 PCK/ZIP”按钮,禁用“导出为补丁”,并选择 PCK 作为文件类型时,将调用该方法。


Error _export_pack_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray, flags: BitField[DebugFlags]) virtual 🔗

可选。

使用 preset 预设在路径 path 处创建补丁 PCK 归档,包含自上次补丁以来发生更改的文件。

在导出对话框中按下“导出 PCK/ZIP”按钮,启用“导出为补丁”,并选择 PCK 作为文件类型时,将调用该方法。

注意:patches 中的补丁在调用该方法时已加载 ,仅作为上下文提供。为空时将加载导出预设中定义的补丁。


Error _export_project(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags]) virtual 🔗

必选。

使用 preset 预设在 path 路径处创建完整的项目。

在导出对话框中按下“导出”按钮时,将调用该方法。

该方法的实现可以调用 EditorExportPlatform.save_pack()EditorExportPlatform.save_zip() 来使用默认的 PCK/ZIP 导出过程,或者调用 EditorExportPlatform.export_project_files() 并实现自定义回调来处理每个导出的文件。


Error _export_zip(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags]) virtual 🔗

可选。

使用 preset 预设在 path 路径处创建 ZIP 归档。

在导出对话框中按下“导出 PCK/ZIP”按钮,禁用“导出为补丁”,并选择 ZIP 作为文件类型时,将调用该方法。


Error _export_zip_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray, flags: BitField[DebugFlags]) virtual 🔗

可选。

使用 preset 预设在 path 路径处创建 ZIP 归档,仅包含自上次补丁以来发生更改的文件。

在导出对话框中按下“导出 PCK/ZIP”按钮,启用“导出为补丁”,并选择 ZIP 作为文件类型时,将调用该方法。

注意:patches 中的补丁在调用该方法时已加载 ,仅作为上下文提供。为空时将加载导出预设中定义的补丁。


PackedStringArray _get_binary_extensions(preset: EditorExportPreset) virtual const 🔗

必选。

返回完整项目导出所支持的二进制文件扩展名数组。


String _get_debug_protocol() virtual const 🔗

可选。

返回用于远程调试的协议。默认实现返回 tcp://


String _get_device_architecture(device: int) virtual const 🔗

可选。

返回一键部署的设备架构。


bool _get_export_option_visibility(preset: EditorExportPreset, option: String) virtual const 🔗

可选。

验证 option 并返回指定 preset 的可见性。默认实现为所有选项都返回 true


String _get_export_option_warning(preset: EditorExportPreset, option: StringName) virtual const 🔗

可选。

验证 option 并返回指定 preset 的警告消息。默认实现为所有选项都返回空字符串。


Array[Dictionary] _get_export_options() virtual const 🔗

可选。

返回属性列表,类型是元素为字典的 Array。每个 Dictionary 都必须至少包含 name: StringNametype: Variant.Type 两个条目。

另外还支持如下字段:

  • hint: PropertyHint

  • hint_string: String

  • usage: PropertyUsageFlags

  • class_name: StringName

  • default_value: Variant,属性的默认值。

  • update_visibility: bool,如果设为 true,则会在该属性发生更改时为每个属性都调用 _get_export_option_visibility()

  • required: bool,如果设为 true,则该属性的警告是关键的,解决后才能够实现导出。该值是 _has_valid_export_configuration() 实现的提示,引擎不直接使用。

另见 Object._get_property_list()


必选。

返回导出对话框中显示的平台徽标,徽标应为 32x32,根据当前编辑器缩放调整,见 EditorInterface.get_editor_scale()


String _get_name() virtual const 🔗

必选。

返回导出平台的名称。


ImageTexture _get_option_icon(device: int) virtual const 🔗

可选。

返回 device 设备的一键部署菜单项图标,该图标应为 16x16,根据当前编辑器缩放调整,见 EditorInterface.get_editor_scale()


String _get_option_label(device: int) virtual const 🔗

可选。

返回 device 设备的一键部署菜单项标签。


String _get_option_tooltip(device: int) virtual const 🔗

可选。

返回 device 设备的一键部署菜单项工具提示。


int _get_options_count() virtual const 🔗

可选。

返回一键部署设备(或菜单中显示的其他一键部署选项)的数量。


String _get_options_tooltip() virtual const 🔗

可选。

返回一键部署菜单按钮的工具提示。


String _get_os_name() virtual const 🔗

必选。

返回目标操作系统的名称。


PackedStringArray _get_platform_features() virtual const 🔗

必选。

返回平台特定功能的数组。


PackedStringArray _get_preset_features(preset: EditorExportPreset) virtual const 🔗

必选。

返回 preset 预设对应的平台特定功能的数组。


Texture2D _get_run_icon() virtual const 🔗

可选。

返回一键部署菜单按钮的图标,该图标应为 16x16,根据当前编辑器缩放调整,见 EditorInterface.get_editor_scale()


bool _has_valid_export_configuration(preset: EditorExportPreset, debug: bool) virtual const 🔗

必选。

如果导出配置有效,则返回 true


bool _has_valid_project_configuration(preset: EditorExportPreset) virtual const 🔗

必选。

如果项目配置有效,则返回 true


bool _is_executable(path: String) virtual const 🔗

可选。

如果指定的文件是目标平台上的有效可执行文件(原生可执行文件或脚本),则返回 true


bool _poll_export() virtual 🔗

可选。

如果一键部署选项发生更改,编辑器界面需要更新,则返回 true


Error _run(preset: EditorExportPreset, device: int, debug_flags: BitField[DebugFlags]) virtual 🔗

可选。

选择 device 一键部署菜单选项时调用该方法。

实现时应当将项目导出到临时位置,然后将其上传至 device 设备并运行,也可以执行与该菜单项相关的其他动作。


bool _should_update_export_options() virtual 🔗

可选。

如果导出选项列表发生了更改,应当更新预设,则返回 true


String get_config_error() const 🔗

返回当前配置的错误消息文本。该方法只应在 _can_export()_has_valid_export_configuration()_has_valid_project_configuration() 的实现中调用。


bool get_config_missing_templates() const 🔗

如果当前配置缺失导出模板,则返回 true。该方法只应在 _can_export()_has_valid_export_configuration()_has_valid_project_configuration() 的实现中调用。


void set_config_error(error_text: String) const 🔗

设置当前配置的错误消息文本。该方法只应在 _can_export()_has_valid_export_configuration()_has_valid_project_configuration() 的实现中调用。


void set_config_missing_templates(missing_templates: bool) const 🔗

设为 true 表示当前配置缺失导出模板 。该方法只应在 _can_export()_has_valid_export_configuration()_has_valid_project_configuration() 的实现中调用。