Sfoglia il codice sorgente

Add compatibility properties to `TouchScreenButton`

Added support for `3.x` properties:
* `normal` -> `texture_normal`
* `pressed` -> `texture_pressed`

(cherry picked from commit c7e4b3bf5f287044dc62d25e76b235dc049565b3)
Ninni Pipping 2 anni fa
parent
commit
90b4a3fa75
2 ha cambiato i file con 16 aggiunte e 0 eliminazioni
  1. 13 0
      scene/2d/touch_screen_button.cpp
  2. 3 0
      scene/2d/touch_screen_button.h

+ 13 - 0
scene/2d/touch_screen_button.cpp

@@ -369,6 +369,19 @@ bool TouchScreenButton::is_passby_press_enabled() const {
 	return passby_press;
 	return passby_press;
 }
 }
 
 
+#ifndef DISABLE_DEPRECATED
+bool TouchScreenButton::_set(const StringName &p_name, const Variant &p_value) {
+	if (p_name == SNAME("normal")) { // Compatibility with Godot 3.x.
+		set_texture_normal(p_value);
+		return true;
+	} else if (p_name == SNAME("pressed")) { // Compatibility with Godot 3.x.
+		set_texture_pressed(p_value);
+		return true;
+	}
+	return false;
+}
+#endif // DISABLE_DEPRECATED
+
 void TouchScreenButton::_bind_methods() {
 void TouchScreenButton::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("set_texture_normal", "texture"), &TouchScreenButton::set_texture_normal);
 	ClassDB::bind_method(D_METHOD("set_texture_normal", "texture"), &TouchScreenButton::set_texture_normal);
 	ClassDB::bind_method(D_METHOD("get_texture_normal"), &TouchScreenButton::get_texture_normal);
 	ClassDB::bind_method(D_METHOD("get_texture_normal"), &TouchScreenButton::get_texture_normal);

+ 3 - 0
scene/2d/touch_screen_button.h

@@ -71,6 +71,9 @@ private:
 protected:
 protected:
 	void _notification(int p_what);
 	void _notification(int p_what);
 	static void _bind_methods();
 	static void _bind_methods();
+#ifndef DISABLE_DEPRECATED
+	bool _set(const StringName &p_name, const Variant &p_value);
+#endif // DISABLE_DEPRECATED
 
 
 public:
 public:
 #ifdef TOOLS_ENABLED
 #ifdef TOOLS_ENABLED