summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/visual_script/visual_script_property_selector.cpp5
-rw-r--r--scene/resources/box_shape_3d.cpp20
-rw-r--r--scene/resources/box_shape_3d.h4
-rw-r--r--scene/resources/rectangle_shape_2d.cpp20
-rw-r--r--scene/resources/rectangle_shape_2d.h4
5 files changed, 51 insertions, 2 deletions
diff --git a/modules/visual_script/visual_script_property_selector.cpp b/modules/visual_script/visual_script_property_selector.cpp
index 4a1e020bd4..79addc5828 100644
--- a/modules/visual_script/visual_script_property_selector.cpp
+++ b/modules/visual_script/visual_script_property_selector.cpp
@@ -469,10 +469,11 @@ void VisualScriptPropertySelector::_item_selected() {
at_class = ClassDB::get_parent_class_nocheck(at_class);
}
- Map<String, DocData::ClassDoc>::Element *T = dd->class_list.find(class_type);
+ Vector<String> functions = name.rsplit("/", false);
+ at_class = functions.size() > 3 ? functions[functions.size() - 2] : class_type;
+ Map<String, DocData::ClassDoc>::Element *T = dd->class_list.find(at_class);
if (T) {
for (int i = 0; i < T->get().methods.size(); i++) {
- Vector<String> functions = name.rsplit("/", false, 1);
if (T->get().methods[i].name == functions[functions.size() - 1]) {
text = DTR(T->get().methods[i].description);
}
diff --git a/scene/resources/box_shape_3d.cpp b/scene/resources/box_shape_3d.cpp
index 6e7adc0bd7..008914c5ee 100644
--- a/scene/resources/box_shape_3d.cpp
+++ b/scene/resources/box_shape_3d.cpp
@@ -56,6 +56,26 @@ void BoxShape3D::_update_shape() {
Shape3D::_update_shape();
}
+#ifndef DISABLE_DEPRECATED
+bool BoxShape3D::_set(const StringName &p_name, const Variant &p_value) {
+ if (p_name == "extents") { // Compatibility with Godot 3.x.
+ // Convert to `size`, twice as big.
+ set_size((Vector3)p_value * 2);
+ return true;
+ }
+ return false;
+}
+
+bool BoxShape3D::_get(const StringName &p_name, Variant &r_property) const {
+ if (p_name == "extents") { // Compatibility with Godot 3.x.
+ // Convert to `extents`, half as big.
+ r_property = size / 2;
+ return true;
+ }
+ return false;
+}
+#endif // DISABLE_DEPRECATED
+
void BoxShape3D::set_size(const Vector3 &p_size) {
size = p_size;
_update_shape();
diff --git a/scene/resources/box_shape_3d.h b/scene/resources/box_shape_3d.h
index fce05d61ed..91978a0e6a 100644
--- a/scene/resources/box_shape_3d.h
+++ b/scene/resources/box_shape_3d.h
@@ -39,6 +39,10 @@ class BoxShape3D : public Shape3D {
protected:
static void _bind_methods();
+#ifndef DISABLE_DEPRECATED
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_property) const;
+#endif // DISABLE_DEPRECATED
virtual void _update_shape() override;
diff --git a/scene/resources/rectangle_shape_2d.cpp b/scene/resources/rectangle_shape_2d.cpp
index dc4c6dc2d7..17ce0b34ac 100644
--- a/scene/resources/rectangle_shape_2d.cpp
+++ b/scene/resources/rectangle_shape_2d.cpp
@@ -37,6 +37,26 @@ void RectangleShape2D::_update_shape() {
emit_changed();
}
+#ifndef DISABLE_DEPRECATED
+bool RectangleShape2D::_set(const StringName &p_name, const Variant &p_value) {
+ if (p_name == "extents") { // Compatibility with Godot 3.x.
+ // Convert to `size`, twice as big.
+ set_size((Vector2)p_value * 2);
+ return true;
+ }
+ return false;
+}
+
+bool RectangleShape2D::_get(const StringName &p_name, Variant &r_property) const {
+ if (p_name == "extents") { // Compatibility with Godot 3.x.
+ // Convert to `extents`, half as big.
+ r_property = size / 2;
+ return true;
+ }
+ return false;
+}
+#endif // DISABLE_DEPRECATED
+
void RectangleShape2D::set_size(const Vector2 &p_size) {
size = p_size;
_update_shape();
diff --git a/scene/resources/rectangle_shape_2d.h b/scene/resources/rectangle_shape_2d.h
index 8d747c86af..f1e8be4c5b 100644
--- a/scene/resources/rectangle_shape_2d.h
+++ b/scene/resources/rectangle_shape_2d.h
@@ -41,6 +41,10 @@ class RectangleShape2D : public Shape2D {
protected:
static void _bind_methods();
+#ifndef DISABLE_DEPRECATED
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_property) const;
+#endif // DISABLE_DEPRECATED
public:
void set_size(const Vector2 &p_size);