diff options
author | Emmanuel Leblond <emmanuel.leblond@gmail.com> | 2022-10-22 13:46:59 +0200 |
---|---|---|
committer | Emmanuel Leblond <emmanuel.leblond@gmail.com> | 2022-11-08 21:44:30 +0100 |
commit | 0e81f89dd3ea7418573075a716dcdd94b73e8621 (patch) | |
tree | d4cc7538914beaf7fd2bc8bcba99e756b4c5aa2c /src | |
parent | 73ad6717e907ab24a5c5550f518eda53092c4495 (diff) | |
download | redot-cpp-0e81f89dd3ea7418573075a716dcdd94b73e8621.tar.gz |
Uses `StringName` in GDExtension perf critical instance creation & method/properties setter/getter
Diffstat (limited to 'src')
-rw-r--r-- | src/classes/wrapped.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/classes/wrapped.cpp b/src/classes/wrapped.cpp index a62edc4..84ac3a4 100644 --- a/src/classes/wrapped.cpp +++ b/src/classes/wrapped.cpp @@ -36,20 +36,20 @@ namespace godot { -const char *Wrapped::_get_extension_class() const { +const StringName *Wrapped::_get_extension_class() const { return nullptr; } void Wrapped::_postinitialize() { - const char *extension_class = _get_extension_class(); + const StringName *extension_class = _get_extension_class(); if (extension_class) { - godot::internal::gdn_interface->object_set_instance(_owner, extension_class, this); + godot::internal::gdn_interface->object_set_instance(_owner, (void *)extension_class, this); } godot::internal::gdn_interface->object_set_instance_binding(_owner, godot::internal::token, this, _get_bindings_callbacks()); } -Wrapped::Wrapped(const char *p_godot_class) { - _owner = godot::internal::gdn_interface->classdb_construct_object(p_godot_class); +Wrapped::Wrapped(const StringName p_godot_class) { + _owner = godot::internal::gdn_interface->classdb_construct_object((void *)&p_godot_class); } Wrapped::Wrapped(GodotObject *p_godot_object) { |