Merge pull request #107868 from lawnjelly/quick_ancestry4

Provide quick access to `Object` ancestry
This commit is contained in:
Thaddeus Crews
2025-09-20 13:41:39 -05:00
18 changed files with 86 additions and 9 deletions

View File

@ -510,3 +510,7 @@ void Node2D::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "global_skew", PROPERTY_HINT_NONE, "radians_as_degrees", PROPERTY_USAGE_NONE), "set_global_skew", "get_global_skew");
ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "global_transform", PROPERTY_HINT_NONE, "suffix:px", PROPERTY_USAGE_NONE), "set_global_transform", "get_global_transform");
}
Node2D::Node2D() {
_define_ancestry(AncestralClass::NODE_2D);
}

View File

@ -115,4 +115,6 @@ public:
Transform2D get_relative_transform_to_parent(const Node *p_parent) const;
Transform2D get_transform() const override;
Node2D();
};

View File

@ -678,6 +678,8 @@ void Area2D::_bind_methods() {
Area2D::Area2D() :
CollisionObject2D(PhysicsServer2D::get_singleton()->area_create(), true) {
_define_ancestry(AncestralClass::AREA_2D);
set_gravity(980);
set_gravity_direction(Vector2(0, 1));
set_monitoring(true);

View File

@ -655,6 +655,8 @@ void CollisionObject2D::_bind_methods() {
}
CollisionObject2D::CollisionObject2D(RID p_rid, bool p_area) {
_define_ancestry(AncestralClass::COLLISION_OBJECT_2D);
rid = p_rid;
area = p_area;
pickable = true;
@ -672,6 +674,7 @@ CollisionObject2D::CollisionObject2D(RID p_rid, bool p_area) {
}
CollisionObject2D::CollisionObject2D() {
_define_ancestry(AncestralClass::COLLISION_OBJECT_2D);
//owner=
set_notify_transform(true);