Преглед изворни кода

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

Rémi Verschelde пре 3 година
родитељ
комит
055f3141f8
1 измењених фајлова са 12 додато и 1 уклоњено
  1. 12 1
      include/core/Godot.hpp

+ 12 - 1
include/core/Godot.hpp

@@ -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) {