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...
EditorExportPlugin
Eredita: RefCounted < Object
Uno script che viene eseguito all'esportazione del progetto.
Descrizione
EditorExportPlugins are automatically invoked whenever the user exports the project. They can be used to modify scenes and resources during project export based on what Feature Tags are set. For each plugin, _export_begin() is called at the beginning of the export process and then _export_file() is called for each exported file.
Register a EditorExportPlugin by creating a new EditorPlugin and calling its EditorPlugin.add_export_plugin() method.
Tutorial
Metodi
Descrizioni dei metodi
bool _begin_customize_resources(platform: EditorExportPlatform, features: PackedStringArray) virtual const 🔗
Restituisci true se questo plugin personalizzerà le risorse in base alla piattaforma e alle funzionalità utilizzate.
Se abilitato, _get_customization_configuration_hash() e _customize_resource() saranno chiamati e dovranno essere implementati.
bool _begin_customize_scenes(platform: EditorExportPlatform, features: PackedStringArray) virtual const 🔗
Restituisci true se questa estensione personalizzerà le scene in base alla piattaforma e alle funzionalità utilizzate.
Se abilitato, _get_customization_configuration_hash() e _customize_scene() verranno chiamati e dovranno essere implementati.
Nota: _customize_scene() verrà chiamato solo per le scene che sono state modificate dall'ultima esportazione.
Resource _customize_resource(resource: Resource, path: String) virtual required 🔗
Personalizza una risorsa. Se vengono apportate modifiche, restituisci la stessa risorsa o una nuova. Altrimenti, restituisci null. Quando viene restituita una nuova risorsa, resource verrà sostituito da una copia della nuova risorsa.
L'argomento path viene utilizzato solo quando si personalizza un file effettivo, altrimenti significa che questa risorsa fa parte di un altro file e sarà vuoto.
L'implementazione di questo metodo è obbligatoria se _begin_customize_resources() restituisce true.
Nota: Quando si personalizza uno dei seguenti tipi e si restituisce un'altra risorsa, l'altra risorsa non dovrebbe essere saltata tramite skip() in _export_file():
Node _customize_scene(scene: Node, path: String) virtual required 🔗
Personalizza una scena. Se vengono apportate modifiche, restituisci la stessa scena o una nuova. Altrimenti, restituisci null. Se viene restituita una nuova scena, spetta a te eliminare quella precedente.
L'implementazione di questo metodo è obbligatoria se _begin_customize_scenes() restituisce true.
Nota: Per modificare una variabile nella tua scena, usa l'annotazione @export quando la dichiari.
void _end_customize_resources() virtual 🔗
Questo viene chiamato quando termina il processo di personalizzazione delle risorse.
void _end_customize_scenes() virtual 🔗
Questo viene chiamato quando termina il processo di personalizzazione delle scene.
void _end_generate_apple_embedded_project(path: String, will_build_archive: bool) virtual 🔗
This is called after Xcode project generation, but before it is built.
Note: Only supported on iOS and visionOS.
void _export_begin(features: PackedStringArray, is_debug: bool, path: String, flags: int) virtual 🔗
Metodo virtuale che deve essere sovrascritto dall'utente. Viene chiamato quando comincia l'esportazione e fornisce tutte le informazioni sull'esportazione. features è la lista di funzionalità per l'esportazione, is_debug è true per le build di debug, path è il percorso di destinazione per il progetto esportato. flags viene utilizzato solo quando si esegue un profilo eseguibile, ad esempio quando si usa l'esecuzione nativa su Android.
void _export_end() virtual 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Chiamato quando l'esportazione è completata.
void _export_file(path: String, type: String, features: PackedStringArray) virtual 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Chiamato per ogni file esportato prima di _customize_resource() e _customize_scene(). Gli argomenti possono essere usati per identificare il file. path è il percorso del file, type è la Resource rappresentata dal file (ad esempio PackedScene) e features è la lista di funzionalità per l'esportazione
La chiamata di skip() all'interno di questo callback impedirà al file di essere incluso nell'esportazione.
PackedStringArray _get_android_dependencies(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Viene chiamato per recuperare l'insieme di dipendenze Android fornito da questo plugin. Ogni dipendenza Android restituita dovrebbe avere il formato di una dipendenza binaria remota d'Android: org.godot.example:my-plugin:0.0.0
Per maggiori informazioni, consulta la documentazione Android sulle dipendenze.
Nota: Supportato solo su Android e richiede che EditorExportPlatformAndroid.gradle_build/use_gradle_build sia abilitato.
PackedStringArray _get_android_dependencies_maven_repos(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Viene chiamato per recuperare gli URL dei repository Maven per l'insieme di dipendenze Android fornito da questa estensione.
Per maggiori informazioni, consulta la documentazione Gradle sulla gestione delle dipendenze.
Nota: Il repository Maven di Google e il repository Maven Central sono già inclusi come predefinito.
Nota: Supportato solo su Android e richiede che EditorExportPlatformAndroid.gradle_build/use_gradle_build sia abilitato.
PackedStringArray _get_android_libraries(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Viene chiamato per recuperare i percorsi locali dei file di archivio delle librerie Android (AAR) forniti da questa estensione.
Nota: I percorsi relativi devono essere relativi alla cartella res://addons/ di Godot. Ad esempio, un file AAR situato in res://addons/hello_world_plugin/HelloWorld.release.aar può essere restituito come percorso assoluto usando res://addons/hello_world_plugin/HelloWorld.release.aar o come percorso relativo usando hello_world_plugin/HelloWorld.release.aar.
Nota: Supportato solo su Android e richiede che EditorExportPlatformAndroid.gradle_build/use_gradle_build sia abilitato.
String _get_android_manifest_activity_element_contents(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Viene utilizzato nell'esportazione per aggiornare il contenuto dell'elemento activity nel manifesto Android generato.
Nota: Supportato solo su Android e richiede che EditorExportPlatformAndroid.gradle_build/use_gradle_build sia abilitato.
String _get_android_manifest_application_element_contents(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Viene utilizzato nell'esportazione per aggiornare il contenuto dell'elemento application nel manifesto Android generato.
Nota: Supportato solo su Android e richiede che EditorExportPlatformAndroid.gradle_build/use_gradle_build sia abilitato.
String _get_android_manifest_element_contents(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Metodo virtuale che può essere sovrascritto dall'utente. Viene utilizzato nell'esportazione per aggiornare il contenuto dell'elemento manifest nel manifesto Android generato.
Nota: Supportato solo su Android e richiede che EditorExportPlatformAndroid.gradle_build/use_gradle_build sia abilitato.
int _get_customization_configuration_hash() virtual required const 🔗
Restituisce un hash basato sulla configurazione passata (sia per le scene sia per le risorse). Ciò aiuta a mantenere le cache separate per configurazioni di esportazione separate.
L'implementazione di questo metodo è obbligatoria se _begin_customize_resources() restituisce true.
Nota: _customize_resource() e _customize_scene() non verranno chiamati quando lo script EditorExportPlugin viene modificato, a meno che anche questo hash non cambi.
PackedStringArray _get_export_features(platform: EditorExportPlatform, debug: bool) virtual const 🔗
Restituisce un PackedStringArray di funzionalità aggiuntive che questa preimpostazione, per la piattaforma platform specificata, dovrebbe avere.
bool _get_export_option_visibility(platform: EditorExportPlatform, option: String) virtual const 🔗
Convalida l'opzione option e restituisce la visibilità per la piattaforma platform. L'implementazione predefinita restituisce true per tutte le opzioni.
String _get_export_option_warning(platform: EditorExportPlatform, option: String) virtual const 🔗
Controlla i requisiti per l'opzione option specificata e restituisci una stringa di avviso non vuota se non sono soddisfatti.
Nota: Usa get_option() per controllare il valore delle opzioni di esportazione.
Array[Dictionary] _get_export_options(platform: EditorExportPlatform) virtual const 🔗
Restituisce una lista di opzioni di esportazione che è possibile configurare per questo plugin di esportazione.
Ogni elemento nel valore restituito è un Dictionary con le seguenti chiavi:
option: un dizionario con la struttura documentata da Object.get_property_list(), ma tutte le chiavi sono facoltative.default_value: il valore predefinito per questa opzione.update_visibility: un valore booleano facoltativo. Se impostato sutrue, la preimpostazione emetterà Object.property_list_changed quando l'opzione viene modificata.
Dictionary _get_export_options_overrides(platform: EditorExportPlatform) virtual const 🔗
Restituisce un Dictionary di valori di sostituzione per le opzioni di esportazione, che saranno utilizzati al posto dei valori forniti dall'utente. Le opzioni di sostituzione saranno nascoste dall'interfaccia utente.
class MyExportPlugin extends EditorExportPlugin:
func _get_name() -> String:
return "MyExportPlugin"
func _supports_platform(platform) -> bool:
if platform is EditorExportPlatformPC:
# Esegui su tutte le piattaforme desktop, inclusi Windows, MacOS e Linux.
return true
return false
func _get_export_options_overrides(platform) -> Dictionary:
# Sostituisci "Incorpora PCK" per renderlo sempre abilitato.
return {
"binary_format/embed_pck": true,
}
String _get_name() virtual required const 🔗
Restituisce l'identificativo nome di questo plugin (per l'identificazione futura dall'esportatore). Le estensioni sono ordinate per nome prima dell'esportazione.
L'implementazione di questo metodo è obbligatoria.
bool _should_update_export_options(platform: EditorExportPlatform) virtual const 🔗
Restituisce true, se il risultato di _get_export_options() è cambiato ed è necessario aggiornare le opzioni di esportazione della preimpostazione corrispondente alla piattaforma platform.
bool _supports_platform(platform: EditorExportPlatform) virtual const 🔗
Restituisce true se l'estensione supporta la piattaforma platform.
PackedByteArray _update_android_prebuilt_manifest(platform: EditorExportPlatform, manifest_data: PackedByteArray) virtual const 🔗
Fornire l'accesso al manifest predefinito di Android e consentire al plugin di modificarlo se necessario.
Gli implementatori di questo metodo virtuale devono prendere i dati dell'eseguibile manifest da manifest_data, copiarli, modificarli e quindi restituirli con le modifiche.
Se non sono necessarie modifiche, deve essere restituito un PackedByteArray vuoto.
void add_apple_embedded_platform_bundle_file(path: String) 🔗
Aggiunge un file pacchetto di Apple embedded platform dal percorso path al progetto esportato.
void add_apple_embedded_platform_cpp_code(code: String) 🔗
Aggiunge codice C++ all'esportazione di Apple embedded platform. Il codice finale viene creato dal codice aggiunto da ogni estensione attiva di esportazione.
void add_apple_embedded_platform_embedded_framework(path: String) 🔗
Aggiunge una libreria dinamica (*.dylib, *.framework) al Linking Phase nel progetto Xcode di Apple embedded platform e la incorpora nel binario risultante.
Nota: Per le librerie statiche (*.a) funziona allo stesso modo di add_apple_embedded_platform_framework().
Nota: Questo metodo non si dovrebbe utilizzare per le librerie di sistema poiché sono già presenti sul dispositivo.
void add_apple_embedded_platform_framework(path: String) 🔗
Aggiunge una libreria statica (*.a) o dinamica (*.dylib, *.framework) al Linking Phase nel progetto Xcode di Apple embedded platform.
void add_apple_embedded_platform_linker_flags(flags: String) 🔗
Aggiunge flag al linker per l'esportazione di Apple embedded platform.
void add_apple_embedded_platform_plist_content(plist_content: String) 🔗
Aggiunge campi aggiuntivi al file Info.plist del progetto per Apple embedded platform.
void add_apple_embedded_platform_project_static_lib(path: String) 🔗
Aggiunge una libreria statica dal percorso path al progetto di Apple embedded platform.
void add_file(path: String, file: PackedByteArray, remap: bool) 🔗
Aggiunge un file personalizzato da esportare. path è il percorso virtuale che può essere utilizzato per caricare il file, file sono i dati binari del file.
Quando viene chiamato all'interno di _export_file() e remap è true, il file attuale non verrà esportato, ma verrà invece rimappato in questo file personalizzato. remap viene ignorato quando viene chiamato in altri posti.
file non verrà importato, quindi considera di usare _customize_resource() per rimappare le risorse importate.
void add_ios_bundle_file(path: String) 🔗
Deprecato: Use add_apple_embedded_platform_bundle_file() instead.
Aggiunge un file bundle iOS dal percorso path al progetto esportato.
void add_ios_cpp_code(code: String) 🔗
Deprecato: Use add_apple_embedded_platform_cpp_code() instead.
Aggiunge codice C++ all'esportazione iOS. Il codice finale viene creato dal codice aggiunto da ogni estensione attiva di esportazione.
void add_ios_embedded_framework(path: String) 🔗
Deprecato: Use add_apple_embedded_platform_embedded_framework() instead.
Aggiunge una libreria dinamica (*.dylib, *.framework) al Linking Phase nel progetto Xcode di iOS e la incorpora nel binario risultante.
Nota: Per le librerie statiche (*.a) funziona allo stesso modo di add_apple_embedded_platform_framework().
Nota: Questo metodo non si dovrebbe utilizzare per le librerie di sistema poiché sono già presenti sul dispositivo.
void add_ios_framework(path: String) 🔗
Deprecato: Use add_apple_embedded_platform_framework() instead.
Aggiunge una libreria statica (*.a) o dinamica (*.dylib, *.framework) al Linking Phase nel progetto Xcode di iOS.
void add_ios_linker_flags(flags: String) 🔗
Deprecato: Use add_apple_embedded_platform_linker_flags() instead.
Aggiunge flag al linker per l'esportazione iOS.
void add_ios_plist_content(plist_content: String) 🔗
Deprecato: Use add_apple_embedded_platform_plist_content() instead.
Aggiunge campi aggiuntivi al file Info.plist del progetto per iOS.
void add_ios_project_static_lib(path: String) 🔗
Deprecato: Use add_apple_embedded_platform_project_static_lib() instead.
Aggiunge una libreria statica dal percorso path al progetto iOS.
void add_macos_plugin_file(path: String) 🔗
Aggiunge il file o la cartella corrispondente al percorso path alla cartella PlugIns del bundle dell'app per macOS.
Nota: Questo è utile solo per le esportazioni su macOS.
Aggiunge un oggetto condiviso o una cartella contenente solo oggetti condivisi con i tags e il percorso di destinazione path specificati.
Nota: In caso di esportazioni su macOS, quegli oggetti condivisi verranno aggiunti alla cartella Frameworks del bundle dell'app.
In caso di cartella, code-sign genererà un errore se si inserisce un oggetto non di codice nella cartella.
EditorExportPlatform get_export_platform() const 🔗
Restituisce la piattaforma d'esportazione attualmente utilizzata.
EditorExportPreset get_export_preset() const 🔗
Restituisce la preimpostazione d'esportazione attualmente utilizzata.
Variant get_option(name: StringName) const 🔗
Restituisce il valore attuale di un'opzione di esportazione fornita da _get_export_options().
void skip() 🔗
Da chiamare all'interno di _export_file(). Salta il file attuale, in modo da non includerlo nell'esportazione.