summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEmmanuel Leblond <emmanuel.leblond@gmail.com>2022-10-22 13:46:59 +0200
committerEmmanuel Leblond <emmanuel.leblond@gmail.com>2022-11-08 21:44:30 +0100
commit0e81f89dd3ea7418573075a716dcdd94b73e8621 (patch)
treed4cc7538914beaf7fd2bc8bcba99e756b4c5aa2c /src
parent73ad6717e907ab24a5c5550f518eda53092c4495 (diff)
downloadredot-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.cpp10
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) {