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.
Checking the stable version of the documentation...
EditorExportPlatformExtension
继承: EditorExportPlatform < RefCounted < Object
自定义 EditorExportPlatform 实现(插件)的基类。
描述
外部 EditorExportPlatform 实现应当继承自该类。
要使用 EditorExportPlatform,请先使用 EditorPlugin.add_export_platform() 方法注册。
方法
方法说明
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: StringName
和 type: 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()。
Texture2D _get_logo() virtual const 🔗
必选。
返回导出对话框中显示的平台徽标,徽标应为 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
。
可选。
如果一键部署选项发生更改,编辑器界面需要更新,则返回 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() 的实现中调用。