Merge pull request #588 from aaronfranke/signal-no-arg

pull/619/head
Rémi Verschelde 2021-09-27 11:34:08 +02:00 committed by GitHub
commit 055f3141f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -526,7 +526,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 = {};
@ -570,6 +570,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) {