EditorExportPlatformExtension
继承: EditorExportPlatform < RefCounted < Object
自定义 EditorExportPlatform 实现(插件)的基类。
描述
外部 EditorExportPlatform 实现应当继承自该类。
要使用 EditorExportPlatform,请先使用 EditorPlugin.add_export_platform() 方法注册。
方法
方法说明
bool _can_export(preset: EditorExportPreset, debug: bool) virtual const 🔗
Returns true if the specified preset is valid and can be exported. Use set_config_error() and set_config_missing_templates() to set error details.
Usual implementations call _has_valid_export_configuration() and _has_valid_project_configuration() to determine if exporting is possible.
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 🔗
Initializes the plugin. Called by the editor when platform is registered.
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() 的实现中调用。