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 🔗

可选。

path处为指定的preset创建PCK存档。

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


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

可选。

为指定的presetpath处创建补丁PCK存档,仅包含自上次补丁以来已更改的文件。

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

注意:patches中提供的补丁在调用此方法时已经加载,并且仅作为上下文提供。当清空时,导出预设中定义的补丁已被加载。


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

必填。

path为指定的preset创建一个完整的项目。

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

这个方法实现可以调用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 🔗

可选。

path为指定的preset创建ZIP存档。

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


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

可选。

为指定的presetpath处创建一个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_string:字符串

-用法:属性UsageFlags

-class_name: StringName

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

-update_visibility:bool,如果设置为true,则在更改此属性时为每个属性调用_get_export_option_visibility()

-必需: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()实现中调用。