Skip to content

Commit

Permalink
C#: Fix signature of generated signal callbacks
Browse files Browse the repository at this point in the history
- Use `long` and `double` types since signals currently only support 64-bit types.
- Fix bug for checking if the type name is a class registered in ClassDB.
  • Loading branch information
raulsntos committed Oct 7, 2022
1 parent 0056acf commit 86f6662
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions modules/mono/csharp_script.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -390,23 +390,23 @@ bool CSharpLanguage::supports_builtin_mode() const {
#ifdef TOOLS_ENABLED
static String variant_type_to_managed_name(const String &p_var_type_name) {
if (p_var_type_name.is_empty()) {
return "object";
return "Variant";
}

if (!ClassDB::class_exists(p_var_type_name)) {
if (ClassDB::class_exists(p_var_type_name)) {
return p_var_type_name;
}

if (p_var_type_name == Variant::get_type_name(Variant::OBJECT)) {
return "Godot.Object";
}

if (p_var_type_name == Variant::get_type_name(Variant::INT)) {
return "long";
}

if (p_var_type_name == Variant::get_type_name(Variant::FLOAT)) {
#ifdef REAL_T_IS_DOUBLE
return "double";
#else
return "float";
#endif
}

if (p_var_type_name == Variant::get_type_name(Variant::STRING)) {
Expand Down Expand Up @@ -484,7 +484,7 @@ static String variant_type_to_managed_name(const String &p_var_type_name) {
}
}

return "object";
return "Variant";
}

String CSharpLanguage::make_function(const String &, const String &p_name, const PackedStringArray &p_args) const {
Expand Down

0 comments on commit 86f6662

Please sign in to comment.