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 required 🔗
使用 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 required 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: PropertyHinthint_string: Stringusage: PropertyUsageFlagsclass_name: StringNamedefault_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 required const 🔗
返回导出对话框中显示的平台徽标,该徽标应为 32×32 像素,并根据当前编辑器的缩放进行调整(见 EditorInterface.get_editor_scale())。
String _get_name() virtual required const 🔗
返回导出平台的名称。
Texture2D _get_option_icon(device: int) virtual const 🔗
返回一键部署菜单中指定 device 设备的条目图标。该图标应为 16×16 像素,并根据当前编辑器的缩放进行调整(见 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 required const 🔗
返回目标操作系统的名称。
PackedStringArray _get_platform_features() virtual required const 🔗
返回平台特定功能的数组。
PackedStringArray _get_preset_features(preset: EditorExportPreset) virtual required const 🔗
返回 preset 预设对应的平台特定功能的数组。
Texture2D _get_run_icon() virtual const 🔗
返回一键部署菜单按钮的图标。该图标应为 16×16 像素,并根据当前编辑器缩放进行调整(见 EditorInterface.get_editor_scale())。
bool _has_valid_export_configuration(preset: EditorExportPreset, debug: bool) virtual required const 🔗
如果导出配置有效,则返回 true。
bool _has_valid_project_configuration(preset: EditorExportPreset) virtual required const 🔗
如果项目配置有效,则返回 true。
void _initialize() virtual 🔗
初始化插件。平台注册时由编辑器调用。
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() 的实现中调用。