Browse Source

Provide ability to override _export_end() in cpp.

Daylily-Zeleen 2 years ago
parent
commit
5afc311783

+ 3 - 1
editor/export/editor_export_platform.cpp

@@ -512,8 +512,10 @@ EditorExportPlatform::ExportNotifier::~ExportNotifier() {
 	for (int i = 0; i < export_plugins.size(); i++) {
 		if (export_plugins[i]->get_script_instance()) {
 			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>());
 	}
 }

+ 2 - 0
editor/export/editor_export_plugin.cpp

@@ -222,6 +222,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;
 }

+ 2 - 1
editor/export/editor_export_plugin.h

@@ -70,7 +70,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();
@@ -105,6 +105,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();