Display a message about missing C# support on Android/iOS/Web platforms

When trying to export a C# project, this displays an error message after
creating a export preset for an unsupported platform.

Support for these platforms is planned for a future release.
This commit is contained in:
Hugo Locurcio 2023-06-24 00:01:53 +02:00
parent 19e7490c9a
commit 0b19ec3498
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C
3 changed files with 27 additions and 3 deletions

View File

@ -49,7 +49,7 @@
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "main/splash.gen.h" #include "main/splash.gen.h"
#include "modules/modules_enabled.gen.h" // For svg. #include "modules/modules_enabled.gen.h" // For mono and svg.
#ifdef MODULE_SVG_ENABLED #ifdef MODULE_SVG_ENABLED
#include "modules/svg/image_loader_svg.h" #include "modules/svg/image_loader_svg.h"
#endif #endif
@ -2232,6 +2232,14 @@ bool EditorExportPlatformAndroid::has_valid_export_configuration(const Ref<Edito
bool valid = false; bool valid = false;
const bool gradle_build_enabled = p_preset->get("gradle_build/use_gradle_build"); const bool gradle_build_enabled = p_preset->get("gradle_build/use_gradle_build");
#ifdef MODULE_MONO_ENABLED
err += TTR("Exporting to Android is currently not supported in Godot 4 when using C#/.NET. Use Godot 3 to target Android with C#/Mono instead.") + "\n";
err += TTR("If this project does not use C#, use a non-C# editor build to export the project.") + "\n";
// Don't check for additional errors, as this particular error cannot be resolved.
r_error = err;
return false;
#endif
// Look for export templates (first official, and if defined custom templates). // Look for export templates (first official, and if defined custom templates).
if (!gradle_build_enabled) { if (!gradle_build_enabled) {

View File

@ -37,7 +37,7 @@
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/export/editor_export.h" #include "editor/export/editor_export.h"
#include "modules/modules_enabled.gen.h" // For svg. #include "modules/modules_enabled.gen.h" // For mono and svg.
#ifdef MODULE_SVG_ENABLED #ifdef MODULE_SVG_ENABLED
#include "modules/svg/image_loader_svg.h" #include "modules/svg/image_loader_svg.h"
#endif #endif
@ -1903,6 +1903,14 @@ bool EditorExportPlatformIOS::has_valid_export_configuration(const Ref<EditorExp
String err; String err;
bool valid = false; bool valid = false;
#ifdef MODULE_MONO_ENABLED
err += TTR("Exporting to iOS is currently not supported in Godot 4 when using C#/.NET. Use Godot 3 to target iOS with C#/Mono instead.") + "\n";
err += TTR("If this project does not use C#, use a non-C# editor build to export the project.") + "\n";
// Don't check for additional errors, as this particular error cannot be resolved.
r_error = err;
return false;
#endif
// Look for export templates (first official, and if defined custom templates). // Look for export templates (first official, and if defined custom templates).
bool dvalid = exists_export_template("ios.zip", &err); bool dvalid = exists_export_template("ios.zip", &err);

View File

@ -38,7 +38,7 @@
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/export/editor_export.h" #include "editor/export/editor_export.h"
#include "modules/modules_enabled.gen.h" // For svg. #include "modules/modules_enabled.gen.h" // For mono and svg.
#ifdef MODULE_SVG_ENABLED #ifdef MODULE_SVG_ENABLED
#include "modules/svg/image_loader_svg.h" #include "modules/svg/image_loader_svg.h"
#endif #endif
@ -363,6 +363,14 @@ bool EditorExportPlatformWeb::has_valid_export_configuration(const Ref<EditorExp
bool valid = false; bool valid = false;
bool extensions = (bool)p_preset->get("variant/extensions_support"); bool extensions = (bool)p_preset->get("variant/extensions_support");
#ifdef MODULE_MONO_ENABLED
err += TTR("Exporting to Web is currently not supported in Godot 4 when using C#/.NET. Use Godot 3 to target Web with C#/Mono instead.") + "\n";
err += TTR("If this project does not use C#, use a non-C# editor build to export the project.") + "\n";
// Don't check for additional errors, as this particular error cannot be resolved.
r_error = err;
return false;
#endif
// Look for export templates (first official, and if defined custom templates). // Look for export templates (first official, and if defined custom templates).
bool dvalid = exists_export_template(_get_template_name(extensions, true), &err); bool dvalid = exists_export_template(_get_template_name(extensions, true), &err);
bool rvalid = exists_export_template(_get_template_name(extensions, false), &err); bool rvalid = exists_export_template(_get_template_name(extensions, false), &err);