Expose shape property for shape query parameters classes
Co-authored-by: PouleyKetchoupp <pouleyketchoup@gmail.com>
This commit is contained in:
@ -132,13 +132,21 @@ PhysicsDirectBodyState2D::PhysicsDirectBodyState2D() {}
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
void PhysicsShapeQueryParameters2D::set_shape(const RES &p_shape) {
|
||||
ERR_FAIL_COND(p_shape.is_null());
|
||||
shape = p_shape->get_rid();
|
||||
void PhysicsShapeQueryParameters2D::set_shape(const RES &p_shape_ref) {
|
||||
ERR_FAIL_COND(p_shape_ref.is_null());
|
||||
shape_ref = p_shape_ref;
|
||||
shape = p_shape_ref->get_rid();
|
||||
}
|
||||
|
||||
RES PhysicsShapeQueryParameters2D::get_shape() const {
|
||||
return shape_ref;
|
||||
}
|
||||
|
||||
void PhysicsShapeQueryParameters2D::set_shape_rid(const RID &p_shape) {
|
||||
shape = p_shape;
|
||||
if (shape != p_shape) {
|
||||
shape_ref = RES();
|
||||
shape = p_shape;
|
||||
}
|
||||
}
|
||||
|
||||
RID PhysicsShapeQueryParameters2D::get_shape_rid() const {
|
||||
@ -212,6 +220,7 @@ bool PhysicsShapeQueryParameters2D::is_collide_with_areas_enabled() const {
|
||||
|
||||
void PhysicsShapeQueryParameters2D::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_shape", "shape"), &PhysicsShapeQueryParameters2D::set_shape);
|
||||
ClassDB::bind_method(D_METHOD("get_shape"), &PhysicsShapeQueryParameters2D::get_shape);
|
||||
ClassDB::bind_method(D_METHOD("set_shape_rid", "shape"), &PhysicsShapeQueryParameters2D::set_shape_rid);
|
||||
ClassDB::bind_method(D_METHOD("get_shape_rid"), &PhysicsShapeQueryParameters2D::get_shape_rid);
|
||||
|
||||
@ -240,7 +249,7 @@ void PhysicsShapeQueryParameters2D::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "exclude", PROPERTY_HINT_NONE, itos(Variant::_RID) + ":"), "set_exclude", "get_exclude");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "margin", PROPERTY_HINT_RANGE, "0,100,0.01"), "set_margin", "get_margin");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion"), "set_motion", "get_motion");
|
||||
//ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shape", PROPERTY_HINT_RESOURCE_TYPE, "Shape2D"), "set_shape", ""); // FIXME: Lacks a getter
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "shape", PROPERTY_HINT_RESOURCE_TYPE, "Shape2D"), "set_shape", "get_shape");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::_RID, "shape_rid"), "set_shape_rid", "get_shape_rid");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::TRANSFORM2D, "transform"), "set_transform", "get_transform");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "collide_with_bodies"), "set_collide_with_bodies", "is_collide_with_bodies_enabled");
|
||||
|
||||
Reference in New Issue
Block a user