mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			220 lines
		
	
	
	
		
			11 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			220 lines
		
	
	
	
		
			11 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="EditorExportPlugin" inherits="RefCounted" version="4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
 | |
| 	<brief_description>
 | |
| 		A script that is executed when exporting the project.
 | |
| 	</brief_description>
 | |
| 	<description>
 | |
| 		[EditorExportPlugin]s are automatically invoked whenever the user exports the project. Their most common use is to determine what files are being included in the exported project. For each plugin, [method _export_begin] is called at the beginning of the export process and then [method _export_file] is called for each exported file.
 | |
| 		To use [EditorExportPlugin], register it using the [method EditorPlugin.add_export_plugin] method first.
 | |
| 	</description>
 | |
| 	<tutorials>
 | |
| 	</tutorials>
 | |
| 	<methods>
 | |
| 		<method name="_begin_customize_resources" qualifiers="virtual const">
 | |
| 			<return type="bool" />
 | |
| 			<param index="0" name="platform" type="EditorExportPlatform" />
 | |
| 			<param index="1" name="features" type="PackedStringArray" />
 | |
| 			<description>
 | |
| 				Return [code]true[/code] if this plugin will customize resources based on the platform and features used.
 | |
| 				When enabled, [method _get_customization_configuration_hash], [method _customize_resource] and [method _customize_scene] will be called and must be implemented.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_begin_customize_scenes" qualifiers="virtual const">
 | |
| 			<return type="bool" />
 | |
| 			<param index="0" name="platform" type="EditorExportPlatform" />
 | |
| 			<param index="1" name="features" type="PackedStringArray" />
 | |
| 			<description>
 | |
| 				Return true if this plugin will customize scenes based on the platform and features used.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_customize_resource" qualifiers="virtual">
 | |
| 			<return type="Resource" />
 | |
| 			<param index="0" name="resource" type="Resource" />
 | |
| 			<param index="1" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Customize a resource. If changes are made to it, return the same or a new resource. Otherwise, return [code]null[/code].
 | |
| 				The [i]path[/i] argument is only used when customizing an actual file, otherwise this means that this resource is part of another one and it will be empty.
 | |
| 				Implementing this method is required if [method _begin_customize_resources] returns [code]true[/code].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_customize_scene" qualifiers="virtual">
 | |
| 			<return type="Node" />
 | |
| 			<param index="0" name="scene" type="Node" />
 | |
| 			<param index="1" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Customize a scene. If changes are made to it, return the same or a new scene. Otherwise, return [code]null[/code]. If a new scene is returned, it is up to you to dispose of the old one.
 | |
| 				Implementing this method is required if [method _begin_customize_resources] returns [code]true[/code].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_end_customize_resources" qualifiers="virtual">
 | |
| 			<return type="void" />
 | |
| 			<description>
 | |
| 				This is called when the customization process for resources ends.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_end_customize_scenes" qualifiers="virtual">
 | |
| 			<return type="void" />
 | |
| 			<description>
 | |
| 				This is called when the customization process for scenes ends.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_export_begin" qualifiers="virtual">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="features" type="PackedStringArray" />
 | |
| 			<param index="1" name="is_debug" type="bool" />
 | |
| 			<param index="2" name="path" type="String" />
 | |
| 			<param index="3" name="flags" type="int" />
 | |
| 			<description>
 | |
| 				Virtual method to be overridden by the user. It is called when the export starts and provides all information about the export. [param features] is the list of features for the export, [param is_debug] is [code]true[/code] for debug builds, [param path] is the target path for the exported project. [param flags] is only used when running a runnable profile, e.g. when using native run on Android.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_export_end" qualifiers="virtual">
 | |
| 			<return type="void" />
 | |
| 			<description>
 | |
| 				Virtual method to be overridden by the user. Called when the export is finished.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_export_file" qualifiers="virtual">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<param index="1" name="type" type="String" />
 | |
| 			<param index="2" name="features" type="PackedStringArray" />
 | |
| 			<description>
 | |
| 				Virtual method to be overridden by the user. Called for each exported file, providing arguments that can be used to identify the file. [param path] is the path of the file, [param type] is the [Resource] represented by the file (e.g. [PackedScene]) and [param features] is the list of features for the export.
 | |
| 				Calling [method skip] inside this callback will make the file not included in the export.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_get_customization_configuration_hash" qualifiers="virtual const">
 | |
| 			<return type="int" />
 | |
| 			<description>
 | |
| 				Return a hash based on the configuration passed (for both scenes and resources). This helps keep separate caches for separate export configurations.
 | |
| 				Implementing this method is required if [method _begin_customize_resources] returns [code]true[/code].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_get_export_features" qualifiers="virtual const">
 | |
| 			<return type="PackedStringArray" />
 | |
| 			<param index="0" name="platform" type="EditorExportPlatform" />
 | |
| 			<param index="1" name="debug" type="bool" />
 | |
| 			<description>
 | |
| 				Return a [PackedStringArray] of additional features this preset, for the given [param platform], should have.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_get_export_options" qualifiers="virtual const">
 | |
| 			<return type="Dictionary[]" />
 | |
| 			<param index="0" name="platform" type="EditorExportPlatform" />
 | |
| 			<description>
 | |
| 				Return a list of export options that can be configured for this export plugin.
 | |
| 				Each element in the return value is a [Dictionary] with the following keys:
 | |
| 				- [code]option[/code]: A dictionary with the structure documented by [method Object.get_property_list], but all keys are optional.
 | |
| 				- [code]default_value[/code]: The default value for this option.
 | |
| 				- [code]update_visibility[/code]: An optional boolean value. If set to [code]true[/code], the preset will emit [signal Object.property_list_changed] when the option is changed.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_get_name" qualifiers="virtual const">
 | |
| 			<return type="String" />
 | |
| 			<description>
 | |
| 				Return the name identifier of this plugin (for future identification by the exporter). The plugins are sorted by name before exporting.
 | |
| 				Implementing this method is required.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="_should_update_export_options" qualifiers="virtual const">
 | |
| 			<return type="bool" />
 | |
| 			<param index="0" name="platform" type="EditorExportPlatform" />
 | |
| 			<description>
 | |
| 				Return [code]true[/code], if the result of [method _get_export_options] has changed and the export options of preset corresponding to [param platform] should be updated.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_file">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<param index="1" name="file" type="PackedByteArray" />
 | |
| 			<param index="2" name="remap" type="bool" />
 | |
| 			<description>
 | |
| 				Adds a custom file to be exported. [param path] is the virtual path that can be used to load the file, [param file] is the binary data of the file. If [param remap] is [code]true[/code], file will not be exported, but instead remapped to the given [param path].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_bundle_file">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Adds an iOS bundle file from the given [param path] to the exported project.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_cpp_code">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="code" type="String" />
 | |
| 			<description>
 | |
| 				Adds a C++ code to the iOS export. The final code is created from the code appended by each active export plugin.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_embedded_framework">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Adds a dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project and embeds it into resulting binary.
 | |
| 				[b]Note:[/b] For static libraries (*.a) works in same way as [code]add_ios_framework[/code].
 | |
| 				This method should not be used for System libraries as they are already present on the device.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_framework">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Adds a static library (*.a) or dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_linker_flags">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="flags" type="String" />
 | |
| 			<description>
 | |
| 				Adds linker flags for the iOS export.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_plist_content">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="plist_content" type="String" />
 | |
| 			<description>
 | |
| 				Adds content for iOS Property List files.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_ios_project_static_lib">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Adds a static lib from the given [param path] to the iOS project.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_macos_plugin_file">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<description>
 | |
| 				Adds file or directory matching [param path] to [code]PlugIns[/code] directory of macOS app bundle.
 | |
| 				[b]Note:[/b] This is useful only for macOS exports.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="add_shared_object">
 | |
| 			<return type="void" />
 | |
| 			<param index="0" name="path" type="String" />
 | |
| 			<param index="1" name="tags" type="PackedStringArray" />
 | |
| 			<param index="2" name="target" type="String" />
 | |
| 			<description>
 | |
| 				Adds a shared object or a directory containing only shared objects with the given [param tags] and destination [param path].
 | |
| 				[b]Note:[/b] In case of macOS exports, those shared objects will be added to [code]Frameworks[/code] directory of app bundle.
 | |
| 				In case of a directory code-sign will error if you place non code object in directory.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="get_option" qualifiers="const">
 | |
| 			<return type="Variant" />
 | |
| 			<param index="0" name="name" type="StringName" />
 | |
| 			<description>
 | |
| 				Returns the current value of an export option supplied by [method _get_export_options].
 | |
| 			</description>
 | |
| 		</method>
 | |
| 		<method name="skip">
 | |
| 			<return type="void" />
 | |
| 			<description>
 | |
| 				To be called inside [method _export_file]. Skips the current file, so it's not included in the export.
 | |
| 			</description>
 | |
| 		</method>
 | |
| 	</methods>
 | |
| </class>
 | 
