summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/core/Godot.hpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/core/Godot.hpp b/include/core/Godot.hpp
index bf52d7b..a56a61e 100644
--- a/include/core/Godot.hpp
+++ b/include/core/Godot.hpp
@@ -496,7 +496,7 @@ void register_property(const char *name, void (T::*setter)(P), P (T::*getter)()
}
template <class T>
-void register_signal(String name, Dictionary args = Dictionary()) {
+void register_signal(String name, Dictionary args) {
static_assert(T::___CLASS_IS_SCRIPT, "This function must only be used on custom classes");
godot_signal signal = {};
@@ -540,6 +540,17 @@ void register_signal(String name, Args... varargs) {
register_signal<T>(name, Dictionary::make(varargs...));
}
+template <class T>
+void register_signal(String name) {
+ static_assert(T::___CLASS_IS_SCRIPT, "This function must only be used on custom classes");
+
+ godot_signal signal = {};
+ signal.name = *(godot_string *)&name;
+
+ godot::nativescript_api->godot_nativescript_register_signal(godot::_RegisterState::nativescript_handle,
+ T::___get_class_name(), &signal);
+}
+
#ifndef GODOT_CPP_NO_OBJECT_CAST
template <class T>
T *Object::cast_to(const Object *obj) {