Merge pull request #1574 from dsnopek/unicode-class-names

Allow unicode class names
This commit is contained in:
David Snopek
2024-10-29 13:09:45 -05:00
committed by GitHub
7 changed files with 34 additions and 7 deletions

View File

@@ -38,6 +38,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
# using Visual Studio C++
set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /WX") # /GF /MP
set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /DTYPED_METHOD_BIND")
set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /utf-8")
if(CMAKE_BUILD_TYPE MATCHES Debug)
set(GODOT_COMPILE_FLAGS "${GODOT_COMPILE_FLAGS} /MDd") # /Od /RTC1 /Zi

View File

@@ -279,6 +279,10 @@ func _ready():
assert_equal(library_path, ProjectSettings.globalize_path(library_path))
assert_equal(FileAccess.file_exists(library_path), true)
# Test a class with a unicode name.
var przykład = ExamplePrzykład.new()
assert_equal(przykład.get_the_word(), "słowo to przykład")
exit_with_status()
func _on_Example_custom_signal(signal_name, value):

View File

@@ -755,3 +755,11 @@ ExampleRuntime::ExampleRuntime() {
ExampleRuntime::~ExampleRuntime() {
}
void ExamplePrzykład::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_the_word"), &ExamplePrzykład::get_the_word);
}
String ExamplePrzykład::get_the_word() const {
return U"słowo to przykład";
}

View File

@@ -275,4 +275,14 @@ public:
~ExampleRuntime();
};
class ExamplePrzykład : public RefCounted {
GDCLASS(ExamplePrzykład, RefCounted);
protected:
static void _bind_methods();
public:
String get_the_word() const;
};
#endif // EXAMPLE_CLASS_H

View File

@@ -30,6 +30,7 @@ void initialize_example_module(ModuleInitializationLevel p_level) {
GDREGISTER_CLASS(ExampleBase);
GDREGISTER_CLASS(ExampleChild);
GDREGISTER_RUNTIME_CLASS(ExampleRuntime);
GDREGISTER_CLASS(ExamplePrzykład);
}
void uninitialize_example_module(ModuleInitializationLevel p_level) {