EditorExportPlatform¶
继承: RefCounted < Object
派生: EditorExportPlatformAndroid, EditorExportPlatformExtension, EditorExportPlatformIOS, EditorExportPlatformMacOS, EditorExportPlatformPC, EditorExportPlatformWeb
标识受支持的导出平台,并在内部提供导出到该平台的功能。
描述¶
基础资源,提供从编辑器将项目的发布版本导出到平台的功能。存储特定于平台的元数据,例如平台的名称和支持的功能,并执行项目、PCK文件和ZIP文件的导出。使用项目导出时提供的平台导出模板。
EditorExportPlugin在脚本中用于配置特定于平台的场景和资源自定义。有关详细信息,请参阅EditorExportPlugin._begin_customize_scenes()和EditorExportPlugin._begin_customize_resources()。
方法¶
枚举¶
enum ExportMessageType: 🔗
ExportMessageType EXPORT_MESSAGE_NONE = 0
当未指定类型时,无效的消息类型用作默认值。
ExportMessageType EXPORT_MESSAGE_INFO = 1
对导出没有影响的信息性消息的消息类型。
ExportMessageType EXPORT_MESSAGE_WARNING = 2
应解决但仍允许完成导出的警告消息的消息类型。
ExportMessageType EXPORT_MESSAGE_ERROR = 3
必须解决且导出失败的错误消息的消息类型。
flags DebugFlags: 🔗
DebugFlags DEBUG_FLAG_DUMB_CLIENT = 1
如果远程调试的项目预期使用远程文件系统,则设置标志。如果设置,gen_export_flags()将在列表中添加--remote-fs和--remote-fs-password(如果在编辑器设置中设置了密码)命令行参数。
DebugFlags DEBUG_FLAG_REMOTE_DEBUG = 2
如果启用了远程调试,则设置标志。如果设置,gen_export_flags()将在列表中添加--remote-debug和--underpoint(如果在脚本编辑器中选择了断点或由插件添加了断点)命令行参数。
DebugFlags DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST = 4
如果远程调试的项目正在localhost上运行,则设置标志。如果设置,gen_export_flags()将使用localhost而不是EditorSettings.network/debug/remote_host作为远程调试器主机。
DebugFlags DEBUG_FLAG_VIEW_COLLISIONS = 8
如果启用了“可见碰撞形状”远程调试选项,则设置标志。如果设置,gen_export_flags()将在列表中添加--debug-碰撞命令行参数。
如果启用了“可见导航”远程调试选项,则设置标志。如果设置,gen_export_flags()将在列表中添加--decg-Naviing命令行参数。
方法说明¶
void add_message(type: ExportMessageType, category: String, message: String) 🔗
将导出结束时显示的消息添加到导出日志中。
void clear_messages() 🔗
清除导出日志。
EditorExportPreset create_preset() 🔗
为此平台创建一个新的预设。
Error export_pack(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0) 🔗
在path处为指定的preset创建PCK存档。
Error export_pack_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray = PackedStringArray(), flags: BitField[DebugFlags] = 0) 🔗
为指定的preset在path处创建补丁PCK存档,仅包含自上次补丁以来已更改的文件。
注意:patches是导出预设中定义的补丁集的可选覆盖。清空时,将使用导出预设中定义的补丁。
Error export_project(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0) 🔗
在path为指定的preset创建一个完整的项目。
Error export_project_files(preset: EditorExportPreset, debug: bool, save_cb: Callable, shared_cb: Callable = Callable()) 🔗
导出指定预设的项目文件。此方法可用于实现自定义导出格式,而不是PCK和ZIP。为每个导出的文件调用其中一个回调。
save_cb为所有导出的文件调用,并具有以下参数:file_path: String,file_data:PackedByteArray,file_index:int,file_count:int,encryption_include_filters:PackedStringArray,encryption_exclude_filters:PackedStringArray,encryption_key:PackedByteArray。
shared_cb用于导出本机共享/静态库,并具有以下参数:file_path: String,tags:PackedStringArray,target_folder:String。
注意:file_index和file_count仅用于进度跟踪,不一定是唯一和精确的。
Error export_zip(preset: EditorExportPreset, debug: bool, path: String, flags: BitField[DebugFlags] = 0) 🔗
在path为指定的preset创建ZIP存档。
Error export_zip_patch(preset: EditorExportPreset, debug: bool, path: String, patches: PackedStringArray = PackedStringArray(), flags: BitField[DebugFlags] = 0) 🔗
为指定的preset在path处创建补丁ZIP存档,仅包含自上次补丁以来更改的文件。
注意:patches是导出预设中定义的补丁集的可选覆盖。清空时,将使用导出预设中定义的补丁。
Dictionary find_export_template(template_file_name: String) const 🔗
找到平台的导出模板,并使用以下键返回Dictionary:path: String和error:String。提供此方法是为了方便,自定义导出平台不需要使用它或以与官方模板相同的方式存储导出模板。
PackedStringArray gen_export_flags(flags: BitField[DebugFlags]) 🔗
为调试标志和编辑器设置的默认导出模板生成命令行参数数组。
Array get_current_presets() const 🔗
返回此平台的EditorExportPreset数组。
PackedStringArray get_forced_export_files() static 🔗
返回无论预设配置如何都应始终导出的核心文件名数组。
Dictionary get_internal_export_files(preset: EditorExportPreset, debug: bool) 🔗
返回无论预设配置如何都应始终导出的附加文件,并且不是项目源的一部分。返回的Dictionary包含文件名键(String)及其对应的原始数据(PackedByteArray)。
String get_message_category(index: int) const 🔗
返回带有index的消息的消息类别。
int get_message_count() const 🔗
返回导出日志中的消息数。
String get_message_text(index: int) const 🔗
返回带有index的消息的消息文本。
ExportMessageType get_message_type(index: int) const 🔗
返回带有index的消息的消息类型。
以友好字符串形式返回此EditorExportPlatform类处理的导出操作系统的名称。可能的返回值是Windows、Linux、macOS、Android、iOS和Web。
ExportMessageType get_worst_message_type() const 🔗
返回导出日志中当前存在的最严重的消息类型。
Dictionary save_pack(preset: EditorExportPreset, debug: bool, path: String, embed: bool = false) 🔗
保存PCK存档并返回带有以下键的Dictionary:结果: Error,so_files:Array(共享/静态对象的数组,其中包含具有以下键的字典:path:String,标签:PackedStringArray和target_folder:String)。
如果embed为true,则将PCK内容附加到path文件的末尾,并返回Dictionary另外包括以下键:embedded_start: int(嵌入式PCK偏移量)和embedded_size:int(嵌入式PCK大小)。
Dictionary save_pack_patch(preset: EditorExportPreset, debug: bool, path: String) 🔗
保存补丁PCK存档并返回带有以下键的Dictionary:结果: Error,so_files:Array(共享/静态对象的数组,其中包含具有以下键的字典:path:String,标签:PackedStringArray和target_folder:String)。
Dictionary save_zip(preset: EditorExportPreset, debug: bool, path: String) 🔗
保存ZIP存档并返回带有以下键的Dictionary:结果: Error,so_files:Array(共享/静态对象的数组,其中包含具有以下键的字典:path:String,标签:PackedStringArray和target_folder:String)。
Dictionary save_zip_patch(preset: EditorExportPreset, debug: bool, path: String) 🔗
保存补丁ZIP存档并返回带有以下键的Dictionary:结果: Error,so_files:Array(共享/静态对象的数组,其中包含具有以下键的字典:path:String,标签:PackedStringArray和target_folder:String)。
Error ssh_push_to_remote(host: String, port: String, scp_args: PackedStringArray, src_file: String, dst_file: String) const 🔗
通过SCP协议将指定文件上传到远程主机。
Error ssh_run_on_remote(host: String, port: String, ssh_arg: PackedStringArray, cmd_args: String, output: Array = [], port_fwd: int = -1) const 🔗
通过SSH协议在远程主机上执行指定命令,并在output中返回命令输出。
int ssh_run_on_remote_no_wait(host: String, port: String, ssh_args: PackedStringArray, cmd_args: String, port_fwd: int = -1) const 🔗
通过SSH协议在远程主机上执行指定命令并返回进程ID(在远程主机上),无需等待命令完成。