Merge pull request #72572 from Daylily-Zeleen/daylily-zeleen/override_export_end_in_Cpp

Provide ability to override `EditorExportPlugin::_export_end()` in C++
This commit is contained in:
Rémi Verschelde 2024-01-04 16:38:15 +01:00
commit 38a1e17b93
No known key found for this signature in database
GPG Key ID: C3336907360768E1
3 changed files with 7 additions and 2 deletions

View File

@ -547,8 +547,10 @@ EditorExportPlatform::ExportNotifier::~ExportNotifier() {
for (int i = 0; i < export_plugins.size(); i++) {
if (GDVIRTUAL_IS_OVERRIDDEN_PTR(export_plugins[i], _export_end)) {
export_plugins.write[i]->_export_end_script();
} else {
export_plugins.write[i]->_export_end();
}
export_plugins.write[i]->_export_end();
export_plugins.write[i]->_export_end_clear();
export_plugins.write[i]->set_export_preset(Ref<EditorExportPlugin>());
}
}

View File

@ -291,6 +291,8 @@ void EditorExportPlugin::_export_file(const String &p_path, const String &p_type
void EditorExportPlugin::_export_begin(const HashSet<String> &p_features, bool p_debug, const String &p_path, int p_flags) {
}
void EditorExportPlugin::_export_end() {}
void EditorExportPlugin::skip() {
skipped = true;
}

View File

@ -71,7 +71,7 @@ class EditorExportPlugin : public RefCounted {
skipped = false;
}
_FORCE_INLINE_ void _export_end() {
_FORCE_INLINE_ void _export_end_clear() {
ios_frameworks.clear();
ios_embedded_frameworks.clear();
ios_bundle_files.clear();
@ -108,6 +108,7 @@ protected:
virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features);
virtual void _export_begin(const HashSet<String> &p_features, bool p_debug, const String &p_path, int p_flags);
virtual void _export_end();
static void _bind_methods();