diff options
author | Juan Linietsky <reduzio@gmail.com> | 2015-05-03 16:47:21 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2015-05-03 16:47:21 -0300 |
commit | af068439829a3fec3a76c4c5d4dd2dba71ab6c5f (patch) | |
tree | a50bea4ceb2ef7e70e86303148830377e19028ce /servers/physics_2d/area_pair_2d_sw.cpp | |
parent | 5f2aac4bbe14d1256feebd4bb12d8b61e5b55f3d (diff) | |
download | redot-engine-af068439829a3fec3a76c4c5d4dd2dba71ab6c5f.tar.gz |
-new collision layer & mask system for 2D, for more flexible collision masking
Diffstat (limited to 'servers/physics_2d/area_pair_2d_sw.cpp')
-rw-r--r-- | servers/physics_2d/area_pair_2d_sw.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/servers/physics_2d/area_pair_2d_sw.cpp b/servers/physics_2d/area_pair_2d_sw.cpp index f73fbb628b..3b1705bd56 100644 --- a/servers/physics_2d/area_pair_2d_sw.cpp +++ b/servers/physics_2d/area_pair_2d_sw.cpp @@ -32,7 +32,7 @@ bool AreaPair2DSW::setup(float p_step) { - bool result = CollisionSolver2DSW::solve(body->get_shape(body_shape),body->get_transform() * body->get_shape_transform(body_shape),Vector2(),area->get_shape(area_shape),area->get_transform() * area->get_shape_transform(area_shape),Vector2(),NULL,this); + bool result = area->test_collision_mask(body) && CollisionSolver2DSW::solve(body->get_shape(body_shape),body->get_transform() * body->get_shape_transform(body_shape),Vector2(),area->get_shape(area_shape),area->get_transform() * area->get_shape_transform(area_shape),Vector2(),NULL,this); if (result!=colliding) { @@ -102,7 +102,7 @@ AreaPair2DSW::~AreaPair2DSW() { bool Area2Pair2DSW::setup(float p_step) { - bool result = CollisionSolver2DSW::solve(area_a->get_shape(shape_a),area_a->get_transform() * area_a->get_shape_transform(shape_a),Vector2(),area_b->get_shape(shape_b),area_b->get_transform() * area_b->get_shape_transform(shape_b),Vector2(),NULL,this); + bool result = area_a->test_collision_mask(area_b) && CollisionSolver2DSW::solve(area_a->get_shape(shape_a),area_a->get_transform() * area_a->get_shape_transform(shape_a),Vector2(),area_b->get_shape(shape_b),area_b->get_transform() * area_b->get_shape_transform(shape_b),Vector2(),NULL,this); if (result!=colliding) { |